当前位置:服务支持 >  软件文章 >  Matlab实时动画制作示例与代码实现详解

Matlab实时动画制作示例与代码实现详解

阅读数 11
点赞 0
article_banner
制作红色小球沿一条带封闭路径的下旋螺线运动的实时动画。

(1)编写函数文件 anim_zzy1.m


[anim_zzy1.m]


function f=anim_zzy1(K,ki)


% anim_zzy1.m 演示红色小球沿一条封闭螺线运动的实时动画


% 仅演示实时动画的调用格式为 anim_zzy1(K)


% 既演示实时动画又拍摄照片的调用格式为 f=anim_zzy1(K,ki)


% K 红球运动的循环数(不小于 1 )


% ki 指定拍摄照片的瞬间,取 1 到 1034 间的任意整数。


% f 存储拍摄的照片数据,可用 image(f.cdata) 观察照片。


% 产生封闭的运动轨线


t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;


t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));


t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;


t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;


x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];


plot3(x,y,z, 'b' ), axis off % 绘制曲线


% 定义 " 线 " 色、 " 点 " 型(点)、点的大小( 40 )、擦除方式( xor)


h=line( 'Color' ,[1 0 0], 'Marker' , '.' , 'MarkerSize' ,40, 'EraseMode' , 'xor' );


% 使小球运动


n=length(x);i=1;j=1;


while 1 % 无穷循环


set(h, 'xdata' ,x(i), 'ydata' ,y(i), 'zdata' ,z(i)); % 小球位置


drawnow; % 刷新屏幕 <21>


pause(0.0005) % 控制球速 <22>


i=i+1;


if nargin==2 & nargout==1 % 仅当输入宗量为 2 、输出宗量为 1 时,才拍摄照片


if (i==ki&j==1);f=getframe(gcf); end % 拍摄 i=ki 时的照片 <25>


end


if i>n


i=1;j=j+1;


if j>K; break ; end


end


end



(2)在指令窗中运行以下指令,就可看到实时动画图形。


f=anim_zzy1(2,450);


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空