數學圖形之單葉雙曲面


    雙曲線繞其對稱軸旋轉而生成的曲面即為雙曲面。在數學里,雙曲面是一種二次曲面。
    其中單葉雙曲面可以用公式表達為:
    (x^2)/(a^2)+(y^2)/(b^2)-(z^2)/(c^2)=1 
     

    在現實中,許多發電廠的冷卻塔結構是單葉雙曲面形狀。由於單葉雙曲面是一種雙重直紋曲面(ruled surface) ,它可以用直的鋼梁建造。這樣,會減少風的阻力.同時,也可以用最少的材料來維持結

構的完整.

    本文將展示幾種生成單葉雙曲面算法和切圖.使用自己定義語法的腳本代碼生成數學圖形.相關軟件參見:數學圖形可視化工具,該軟件免費開源.QQ交流群: 367752815

(1)

vertices = dimension1:72 dimension2:72

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

x = cosh(v)*cos(u)
z = cosh(v)*sin(u)
y = sinh(v)

(2)

單葉雙曲面是一種直紋面(Ruled_surface),即它是由一族直線鋪成的曲面。直線 x=1, y=t, z=2t 繞 z 軸旋轉得到的單葉雙曲面。下面是使用直線生成單葉雙曲面的例子:

vertices = dimension1:72 dimension2:72

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

x = cos(u) - v*sin(u)
z = sin(u) + v*cos(u)
y = 2*v

(3)橢圓開口的隨機單葉雙曲面

vertices = dimension1:72 dimension2:72

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

a = rand2(1, 5)
b = rand2(1, 5)
c = rand2(1, 5)

x = a*sqrt(1 + v*v)*cos(u)
z = b*sqrt(1 + v*v)*sin(u)
y = c*v

(4)橢圓開口的隨機單葉雙曲面,另一種寫法

vertices = D1:100 D2:100
u = from 0 to (2*PI) D1
v = from (-PI*0.45) to (PI*0.45) D2
a
= rand2(1, 10) b = rand2(1, 10) c = rand2(1, 10)
x
= a*sec(v)*sin(u) y = b*tan(v) z = c*sec(v)*cos(u)

(5)單葉雙曲面的上半部分

 

vertices = dimension1:72 dimension2:72
u = from (PI*0.05) to (PI*0.499) dimension1
v = from 0 to (2*PI) dimension2
a = rand2(1, 5)
b = rand2(1, 5)
c = rand2(1, 5)
x = a*cosh(u)*cos(v)
z = b*cosh(u)*sin(v)
y = c*sinh(u)

 

(6)單葉雙曲面的下半部分

 

vertices = dimension1:72 dimension2:72
u = from (-PI*0.499) to (-PI*0.01) dimension1
v = from 0 to (2*PI) dimension2
a = rand2(1, 5)
b = rand2(1, 5)
c = rand2(1, 5)
x = a*cosh(u)*cos(v)
z = b*cosh(u)*sin(v)
y = c*sinh(u)

 

(7)直線 隨機旋轉面

vertices = 100
u = from -10 to 10

a = rand2(-5, 5)
b = rand2(-5, 5)

x = u
y = (x + a) + b

i = rand2(-2, 2)
j = rand2(-2, 2)
k = rand2(-2, 2)

surface_slices = 72
rotate = anchor[0, 0, 0], axis[i, j, k], angle[0, 2*PI]

 


免責聲明!

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



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