數學圖形之牟合方蓋


維基上的解釋是:牟合方蓋是一種幾何體,是兩個等半徑圓柱躺在平面上垂直相交的公共部分,因為像是兩個方形的蓋子合在一起,所以被稱作“牟合方蓋”。

說得有點繞,簡單說:牟合方蓋是兩個半徑相等並且軸心互相垂直的圓柱體相交而成的三維圖形。個人覺得它是一種即方又圓的圖形.

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

(1)牟合方蓋

vertices = D1:100 D2:100

u = from 0 to (PI*2) D1
v = from (-PI/2) to (PI/2) D2

m = cos(u)
n = sin(u)

y = sin(v)
r = cos(v)*SQRT2

b = abs(m) < abs(n)

x = if(b, m*r, sign(m)*r/SQRT2)
z = if(b, sign(n)*r/SQRT2, n*r)

a = 10

x = x*a
y = y*a
z = z*a

(2)三圓柱相交

牟合方蓋是兩個等半徑圓柱垂直相交生成的,那么如果再用一個垂直的圓柱與牟合方蓋相交,會得到什么圖形呢?

下面為三個半徑相等並且軸心互相垂直的圓柱體相交而成的三維圖形.

vertices = D1:100 D2:100

u = from 0 to (PI*2) D1
v = from (-PI/2) to (PI/2) D2

m = cos(u)
n = sin(u)

y = sin(v)
r = cos(v)*SQRT2

b = abs(m) < abs(n)

x = if(b, m*r, sign(m)*r/SQRT2)
z = if(b, sign(n)*r/SQRT2, n*r)

e = sqrt(x*x + z*z)
x = if(e > 1, x/e, x)
z = if(e > 1, z/e, z)

a = 10

x = x*a
y = y*a
z = z*a

(3)變異的牟合方蓋

這其實是我寫腳本代碼時,一個變量寫錯了生成的圖形.

vertices = D1:100 D2:100

u = from 0 to (PI*2) D1
v = from (-PI/2) to (PI/2) D2

m = cos(u)
n = sin(u)

y = sin(v)
r = cos(v)

b = abs(m) > abs(n)

x = if(b, m*r, sign(m)*r/SQRT2)
z = if(b, sign(n)*r/SQRT2, n*r)

a = 10

x = x*a
y = y*a
z = z*a


免責聲明!

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



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