如何用matlab作空间曲线的切线及法平面

mathtech6688
2012-04-11 · TA获得超过779个赞
知道小有建树答主
回答量:307
采纳率:100%
帮助的人:206万
展开全部

这个不难实现.

下图是螺旋线

x=cos(theta)

y=sin(theta)

z=theta

theta为参数

在 theta = pi/6 处的切线和法平面。

clear all

close all

t = linspace(0,4*pi,401);

x = cos(t);

y = sin(t);

z = t;

figure

axis square

hold on

plot3(x,y,z,'linewidth',2,'color','k')

% 在t=pi/6处切向量为{-1/2,3^(1/2)/2,1}

% 切点坐标为(3^(1/2)/2,1/2,pi/6);

% 切线

u = -1:.1:1;

xx = sqrt(3)/2 - u/2;

yy = 1/2 + u*sqrt(3)/2;

zz = pi/6 +u;

plot3(xx,yy,zz,'linewidth',2)

% 法平面

xlab = -1.1:1;

[xxx yyy] = meshgrid(xlab);

zzz = xxx/2 - sqrt(3)*yyy/2 + pi/6;

surf(xxx,yyy,zzz)

xlabel('x')

ylabel('y')

zlabel('z')

追问
可是我把 面地程序输入了   但是不行啊     有错误    那个theta没有定义       后来我们把theta改了一下  但成了平面图了    求解    谢谢了
追答
你把下面花括号之间的语句(不包括花括号)copy 到 matlab editor,保存运行即可。
{
clear all
close all
t = linspace(0,4*pi,401);
x = cos(t);
y = sin(t);
z = t;
figure
axis square
hold on
plot3(x,y,z,'linewidth',2,'color','k')
% 在t=pi/6处切向量为{-1/2,3^(1/2)/2,1}
% 切点坐标为(3^(1/2)/2,1/2,pi/6);
% 切线
u = -1:.1:1;
xx = sqrt(3)/2 - u/2;
yy = 1/2 + u*sqrt(3)/2;
zz = pi/6 +u;
plot3(xx,yy,zz,'linewidth',2)
% 法平面
xlab = -1.1:1;
[xxx yyy] = meshgrid(xlab);
zzz = xxx/2 - sqrt(3)*yyy/2 + pi/6;
surf(xxx,yyy,zzz)
xlabel('x')
ylabel('y')
zlabel('z')
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式