數學圖形之海螺與貝殼


      上一節講的是螺旋管,海螺亦是螺旋管的一種.同樣,貝殼也是有螺旋度的.那么這一節將為大家提供幾種海螺與貝殼的生成算法.提到海螺,讓我想起我的大學是在海邊,出了東校門就是大海,甚至學校宿舍都是海景房.我也很喜歡海螺和貝殼,畢竟它們的肉都很好吃.

相關軟件參見:數學圖形可視化工具,使用自己定義語法的腳本代碼生成數學圖形.

(1)海螺(conchoid)

vertices = dimension1:160 dimension2:160

u = from 0 to (6*PI) dimension1
v = from 0 to (2*PI) dimension2
k = 1.2
a = 1.5
w = (k^u) * (1+cos(v))
x = w*cos(u)
y = w*sin(u)
z = (k^u)*sin(v) - (k^u)*a

(2)Sea-shell

vertices = dimension1:1000 dimension2:72

u = from 0 to (20*PI) dimension1
v = from 0 to (2*PI) dimension2

m = -0.09
k = 3

a = 1
b = 1

e = pow(E, m*u)
w = (a + b*cos(v))*e

x = w*cos(u)
z = w*sin(u)
y = (k*a + b*sin(v))*e

(3)Sea-shell (隨機)

在腳本中使用了隨機數

vertices = dimension1:1000 dimension2:72

u = from 0 to (32*PI) dimension1
v = from 0 to (2*PI) dimension2


m = -1/(rand_int2(2, 100))
k = rand2(1, 100)

a = 1
b = rand2(0.5, 2)

e = pow(E, m*u)
w = (a + b*cos(v))*e

x = w*cos(u)
z = w*sin(u)
y = (k*a + b*sin(v))*e

(4)角螺

這是我自己測試時隨意寫的腳本,角螺的名子也是我隨意取的.

vertices = dimension1:36 dimension2:72
a = from 0 to (2*PI) dimension1
b = from (-PI*0.5) to (PI*0.5) dimension2
r = 10.0
x = r*cos(b)*sin(a)
y = r*sin(b)*sqrt(a)
z = r*cos(b)*cos(a)

u = a
v = b*2

(5)鸚鵡螺

vertices = D1:720 D2:72
p = from 0 to (3*PI) D1
q = from 0 to PI D2

r = 1.2^p * sin(q) * 5

x = r * sin(q) * sin(p)
y = r * sin(q) * cos(p)
z = r * cos(q)

u = p
v = q*3

(6)貝殼1

vertices = dimension1:100 dimension2:100

u = from 0 to (2*PI) dimension1
v = from 0 to (PI) dimension2

r = sin(v)*pow(E, -u)

x = r*sin(v)*sin(u)
y = r*cos(v)
z = r*sin(v)*cos(u)

(7)貝殼2

vertices = dimension1:100 dimension2:100

u = from 0 to (PI*2) dimension1
v = from 0 to (PI) dimension2

r = sin(v)*sin(v)*pow(E, -u)

x = r*sin(v)*sin(u)
y = r*cos(v)
z = r*sin(v)*cos(u)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM