数学图形之克莱因瓶(klein bottle)
生活随笔
收集整理的這篇文章主要介紹了
数学图形之克莱因瓶(klein bottle)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
克萊因瓶是一種內(nèi)外兩面在同一個曲面上的圖形.
在數(shù)學(xué)領(lǐng)域中,克萊因瓶(德語:Kleinsche Flasche)是指一種無定向性的平面,比如二維平面,就沒有“內(nèi)部”和“外部”之分。克萊因瓶最初的概念提出是由德國數(shù)學(xué)家菲利克斯·克萊因提出的。克萊因瓶和我上一篇講的莫比烏斯帶非常相像。一個是內(nèi)外兩面是在同一個曲面上,另一個是里外兩面在同一個曲面上.
克萊因瓶的形狀是,一個瓶子底部有一個洞,現(xiàn)在延長瓶子的頸部,并且扭曲地進入瓶子內(nèi)部,然后和底部的洞相連接。
下面將展示幾種莫比烏斯帶的生成算法和切圖,使用自己定義語法的腳本代碼生成數(shù)學(xué)圖形.相關(guān)軟件參見:數(shù)學(xué)圖形可視化工具,該軟件免費開源.
?
以下是從維基上查到的公式
克萊因瓶的參數(shù)十分復(fù)雜:
寫成我的腳本代碼為:
vertices = D1:80 D2:160 u = from 0 to PI D1 v = from 0 to (2*PI) D2 a = sin(u) b = cos(u) c = sin(v) d = cos(v) e = 3*d - 3*b*b*d - 48*pow(b, 4)*d + 48*pow(b, 6)*d - 60*a + 5*b*d*a - 5*pow(b, 3)*d*a - 80*pow(b, 5)*d*a + 80*pow(b, 7)*d*a x = -2/15*b*(3*d - 30*a + 90*pow(b, 4)*a - 60*pow(b, 6)*a + 5*b*d*a) y = -1/10*a*e z = 2/15*(3 + 5*b*a)*cu = u*5 v = v*2.5公式好復(fù)雜,我竟然寫對了:
?
還有一個較簡單的
寫成我的腳本代碼為:
vertices = D1:160 D2:160 u = from 0 to (4*PI) D1 v = from 0 to (2*PI) D2a = sin(u) b = cos(u)c = sin(v) d = cos(v)e = sin(u/2) f = cos(u/2)x = b*(f*(sqrt(2) + d) + e*c*d) z = a*(f*(sqrt(2) + d) + e*c*d) y = -e*(sqrt(2) + d) + f*c*d可惜這似乎是錯的.生成的圖形不是克萊因瓶.
此外,我還從別的地方找到關(guān)于克萊因瓶的公式.這兩個公式生成的圖形差不多,也不像克萊因瓶,而是一個8字形的曲線繞圈而成的曲面.
klein_bottle
#http://xahlee.info/surface/klein_bottle/klein_bottle.html vertices = D1:100 D2:100u = from 0 to (PI*2) D1 v = from 0 to (PI*2) D2a = 3x = (a+cos[v/2]*sin[u]-sin[v/2]*sin[2*u])*cos[v] z = (a+cos[v/2]*sin[u]-sin[v/2]*sin[2*u])*sin[v] y = sin[v/2]*sin[u]+cos[v/2]*sin[2*u]klein
#http://www.mathcurve.com/surfaces/klein/klein.shtml vertices = D1:100 D2:100 u = from 0 to (PI*2) D1 v = from 0 to (PI*2) D2 a = rand2(1, 10) b = rand2(1, 10) x = [a + b*(cos(u/2)*sin(v) - sin(u/2)*sin(2*v))]*cos(u) z = [a + b*(cos(u/2)*sin(v) - sin(u/2)*sin(2*v))]*sin(u) y = b*[sin(u/2)*sin(v) + cos(u/2)*sin(2*v)]?
總結(jié)
以上是生活随笔為你收集整理的数学图形之克莱因瓶(klein bottle)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell脚本Ping监控主机是否存活并
- 下一篇: DNS服务器之简单配置(一)