声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3686|回复: 3

[共享资源] [转帖]Matlab 实时动画制作示例

[复制链接]
发表于 2006-6-19 10:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
制作红色小球沿一条带封闭路径的下旋螺线运动的实时动画。

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

[anim_zzy1.m]

  1. function f=anim_zzy1(K,ki)

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

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

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

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

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

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

  8. % 产生封闭的运动轨线

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

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

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

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

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

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

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

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

  17. % 使小球运动

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

  19. while 1 % 无穷循环

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

  21. drawnow; % 刷新屏幕 <21>

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

  23. i=i+1;

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

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

  26. end

  27. if i>n

  28. i=1;j=j+1;

  29. if j>K; break ; end

  30. end

  31. end
复制代码


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

  1. f=anim_zzy1(2,450);
复制代码

[ 本帖最后由 suffer 于 2006-10-9 16:08 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2006-12-3 22:48 | 显示全部楼层
我运行了,但是出现下面错误,请指教
???  In an assignment  A(I) = B, the number of elements in B and
I must be the same.

Error in ==> D:\Program Files\work\anim_zzy1.m
On line 17  ==> t3=t2;z3=(1-t3)*z1(end);x(3)=zeros(size(z3));y3=x3;
发表于 2006-12-4 19:43 | 显示全部楼层

奇怪

奇怪得很,可以看到小球的转动,但是主窗口出现错误信息啊:“??? Invalid handle object.

Error in ==> anim_zzy1 at 39
set(h, 'xdata' ,x(i), 'ydata' ,y(i), 'zdata' ,z(i)); % 小球位置”

???
发表于 2006-12-6 13:10 | 显示全部楼层
在matlab制作动画还是使用simulink和虚拟现实工具箱最简单快捷
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 23:24 , Processed in 0.054934 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表