level 11
贴吧用户_0ay955W
楼主
从最简单网格开始:
a = 曲面((u, v), u, 0, 10, v, 0, 10)

这是一个平面曲面,它有参数方程,用这个方法画网格,比用序列命令方便,一是可以直接定位曲面上的点,二是可以变形。
定位点,如:
N=a(2,6)

要变形的话,我们需要这个网格曲面更一般的表达式,先标出四角点吧:
A = (0, 0)
B=(10,0)
C=(10,10)
D=(0,10)
然后作直线AB、CD参数方程:
b = 曲线((1 - u) A + u B, u, 0, 1)
c = 曲线((1 - u) D + u C, u, 0, 1)
绘制曲面e,两曲线之间曲面绘制方法,替代曲面a:
k=10 (滑动条,控制网络密度,1到50,增量1)
e = 曲面((1 - u / k) b(v / k) + u / k c(v / k), v, 0, k, u, 0, k)

表面看,它与曲面a没区别,其实区别大了,它是同两条线段AB和BC生成的,移动ABCD四个点它是会变形的:

增加一些点,继续用曲线取代线段:
E = (3.06, 0.66)
F = (5.66, -0.62)
G = (8.16, 0.24)
H = (3.14, 10.56)
I = (5.58, 9.66)
J = (8.86, 10.3)
l1 = {A, E, F, G, B}
l2 = {D, H, I, J, C}
f = 样条曲线(l1, 3)
g = 样条曲线(l2, 3)
h = 曲面((1 - u / k) f(v / k) + u / k g(v / k), v, 0, k, u, 0, k)

再继续将直面纹变为曲面纹:
K = (10.44, 7.86)
L = (9.56, 5.46)
M = (10.6, 2.68)
l3 = {B, M, L, K, C}
i = 样条曲线(l3, 3)
d = 曲线((1 - u) B + u C, u, 0, 1)
j = 曲面((1 - u / k) f(v / k) + u / k g(v / k) + i(u / k) - d(u / k), v, 0, k, u, 0, k)

调整k,增大网格密度:

注:本贴与《导线为曲线的空间曲面》类似,但侧重点不同,这里主要是讲二维环境下网格曲面。
2021年01月24日 15点01分
1
a = 曲面((u, v), u, 0, 10, v, 0, 10)

这是一个平面曲面,它有参数方程,用这个方法画网格,比用序列命令方便,一是可以直接定位曲面上的点,二是可以变形。定位点,如:
N=a(2,6)

要变形的话,我们需要这个网格曲面更一般的表达式,先标出四角点吧:A = (0, 0)
B=(10,0)
C=(10,10)
D=(0,10)
然后作直线AB、CD参数方程:
b = 曲线((1 - u) A + u B, u, 0, 1)
c = 曲线((1 - u) D + u C, u, 0, 1)
绘制曲面e,两曲线之间曲面绘制方法,替代曲面a:
k=10 (滑动条,控制网络密度,1到50,增量1)
e = 曲面((1 - u / k) b(v / k) + u / k c(v / k), v, 0, k, u, 0, k)

表面看,它与曲面a没区别,其实区别大了,它是同两条线段AB和BC生成的,移动ABCD四个点它是会变形的:
增加一些点,继续用曲线取代线段:E = (3.06, 0.66)
F = (5.66, -0.62)
G = (8.16, 0.24)
H = (3.14, 10.56)
I = (5.58, 9.66)
J = (8.86, 10.3)
l1 = {A, E, F, G, B}
l2 = {D, H, I, J, C}
f = 样条曲线(l1, 3)
g = 样条曲线(l2, 3)
h = 曲面((1 - u / k) f(v / k) + u / k g(v / k), v, 0, k, u, 0, k)

再继续将直面纹变为曲面纹:K = (10.44, 7.86)
L = (9.56, 5.46)
M = (10.6, 2.68)
l3 = {B, M, L, K, C}
i = 样条曲线(l3, 3)
d = 曲线((1 - u) B + u C, u, 0, 1)
j = 曲面((1 - u / k) f(v / k) + u / k g(v / k) + i(u / k) - d(u / k), v, 0, k, u, 0, k)

调整k,增大网格密度:
注:本贴与《导线为曲线的空间曲面》类似,但侧重点不同,这里主要是讲二维环境下网格曲面。