数学图形之莫比乌斯带(mobius)

莫比乌斯带,又被译作:莫比斯环,梅比斯環或麦比乌斯带.是一种拓扑学结构,它只有一个面(表面),和一个边界.即它的正反两面在同一个曲面上,左右两个边在同一条曲线上.看它的名字很洋气,听它的特征很玄乎,实际上实现起来很容易,就是将一个纸条拧一下,然后粘起两头,所生成的带.公元1858年,德国数学家莫比乌斯(Mobius,1790~1868)发现:把一根纸条扭转180°后,两头再粘接起来做成的纸带圈,具有魔术般的性质。普通纸带具有两个面(即双侧曲面),一个正面,一个反面,两个面可以涂成不同的颜色;而这样的纸带只有一个面(即单侧曲面),一只小虫可以爬遍整个曲面而不必跨过它的边缘。这种纸带被称为“莫比乌斯带”。

下面将展示几种莫比乌斯带的生成算法和切图,使用自己定义语法的脚本代码生成数学图形.相关软件参见:数学图形可视化工具,该软件免费开源.

(1)

vertices = D1:160 D2:80
u = from 0 to (2*PI) D1
v = from -1 to 1 D2

a = sin(u)
b = cos(u)

c = sin(u/2)
d = cos(u/2)

r = 5.0
m = 0.2

x = r*(1 + v*m*d)*b
y = r*(1 + v*m*d)*a
z = r*v*m*c

(2)

vertices = D1:160 D2:80
u = from 0 to (2*PI) D1
v = from -1 to 1 D2

r = 10

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

(3)

#http://www.mathcurve.com/surfaces/mobius/mobius.shtml

vertices = D1:160 D2:80
t = from 0 to (2*PI) D1
r = from 0.6 to 1 D2

s = sin(t)
c = cos(t)

x = [3*r*r*(r*r - 1) - 6*r*(1 + pow(r, 4))*c + (pow(r, 6) - 1)*(4*c*c - 1)]*s / (3*r*r*r)
y = [4*(1 - pow(r, 6))*pow(c,3) - 3*r*(1 + pow(r, 4)) + 3*(r*r - 1)*(1 + pow(r, 4))*c + 6*r*(1 + pow(r, 4))*c*c] / (3*r*r*r) 
z = 2*s*(r*r - 1)/r

(4)

#http://www.mathcurve.com/surfaces/mobiussurface/mobiussurface.shtml
vertices = D1:100 D2:100
u = from  (-2) to (2) D1
v = from 0 to (PI*2) D2
a = rand2(1, 10)
x = (a + u*cos(v/2))*cos(v)
z = (a + u*cos(v/2))*sin(v)
y = u*sin(v/2)

(5)

将一个纸条拧一下,然后粘起两头会得到莫比乌斯带,那么拧上N圈呢?

vertices = D1:160 D2:80
u = from 0 to (2*PI) D1
v = from -1 to 1 D2
r = 10
n = 3
x = r*(8 + v*cos(n*u))*cos(u)
z = r*(8 + v*cos(n*u))*sin(u)
y = r*v*sin(u/2)

原文地址:https://www.cnblogs.com/WhyEngine/p/3893785.html