注册 登录
编程论坛 Matlab

请问用matlab如何画直纹面,已知直纹面边界曲线方程。

tjfeng 发布于 2011-08-23 15:31, 2606 次点击
已知直纹曲面方程是:S(u,v)=(1-v)*C1(u) + v*C2(u),其中u和v是参数,都在区间[0 1]内变化,C1(u)和C2(u)是边界曲线方程。
其中
C1(u)=[23.014*u;20.429;0];C2(u)=[23.014*u;20.2324*u*u;33.955]。由于C1(u)和C2(u)大括号分三行写的,我没法写就写成矩阵形式了。请问这样的曲面如何画呢?
4 回复
#2
drmatlab2011-10-15 08:31
一、3D作图首先要把小写变量u、v转化为能用作3D作图的大写变量U、V。

二、详细作图过程
>> [U,V] = meshgrid(0:0.1:1,0:0.1:1);
>> S_1= (1-V).*(23.014.*U) + V.*(23.014.*U);
>> S_2= (1-V).*(20.429) + V.*(20.2324.*U.*U);
>> S_3= (1-V).*(0) + V.*(33.995);
>> surf(U,V,S_1)
>> hold on
>> surf(U,V,S_2)
>> surf(U,V,S_3)

三、结果
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

#3
tjfeng2011-12-08 13:43
谢谢
#4
滇之东北2015-01-08 19:56
[U,V] = meshgrid(0:0.1:1,0:0.1:1);
X=23.014*U;
Y=20.429*(1-V)+20.2324*V.*U.^2;
Z=33.955*V;
surf(X,Y,Z)
只有本站会员才能查看附件,请 登录


[ 本帖最后由 滇之东北 于 2015-1-8 19:57 编辑 ]
#5
x180189851212016-03-06 16:37
以下是引用滇之东北在2015-1-8 19:56:32的发言:

 = meshgrid(0:0.1:1,0:0.1:1);
X=23.014*U;
Y=20.429*(1-V)+20.2324*V.*U.^2;
Z=33.955*V;
surf(X,Y,Z)


[ 本帖最后由 滇之东北 于 2015-1-8 19:57 编辑 ]

1