xiezhh 发表于 2009-2-21 23:38:43

【分享】生成旋转面的matlab程序

本帖最后由 messenger 于 2010-8-6 13:54 编辑

今天做课件,需要一个生成旋转面的动画,就编了一个曲线 z=3*(y-2)^2 绕Z 轴旋转生成旋转面的程序,生成的动画见附件,希望对大家有点用。

clear
clc
mov=avifile('xuanzhuanmian4.avi');
y=1:0.01:2;
z=3*(y-2).^2;
x=zeros(size(y));
r=y;
theta=;
n=length(theta);
plot3(x,y,z,'k','LineWidth',2);
hold on
quiver3(0,0,0,-1,0,0,3,'k','filled','LineWidth',2);
quiver3(0,0,0,0,-1,0,3,'k','filled','LineWidth',2);
quiver3(0,0,0,0,0,1,4,'k','filled','LineWidth',2);
text(0,-0.5,4.2,'Z')
text(0,-3.5,0.3,'Y')
text(-3.5,0,0.3,'X')
axis equal
axis([-2,2,-2,2,0,4])
axis off
for i=1:n-1
    =meshgrid(r,linspace(theta(i),theta(i+1),10));
    zz=repmat(z,10,1);
    xx=rr.*cos(alpha1);
    yy=rr.*sin(alpha1);
    surf(xx,yy,zz);   
    shading interp
    alpha(1)
    drawnow;
    pause(0.8)
    f=getframe(gcf);
    mov=addframe(mov,f);
end
hold off
mov=close(mov);

freemoon 发表于 2009-2-24 14:04:16

好东西,非常感谢!
解决了我的问题

lmhou2005 发表于 2010-3-20 23:00:00

终于找到了,学习了

feiqingfeigu 发表于 2013-12-4 19:00:45

非常感谢,感谢。

xukyle 发表于 2013-12-29 15:08:55

good... it's a good stuff..
页: [1]
查看完整版本: 【分享】生成旋转面的matlab程序