MATLAB中的动画设计

上传人:cn****1 文档编号:569519941 上传时间:2024-07-30 格式:PPT 页数:16 大小:430.50KB
返回 下载 相关 举报
MATLAB中的动画设计_第1页
第1页 / 共16页
MATLAB中的动画设计_第2页
第2页 / 共16页
MATLAB中的动画设计_第3页
第3页 / 共16页
MATLAB中的动画设计_第4页
第4页 / 共16页
MATLAB中的动画设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《MATLAB中的动画设计》由会员分享,可在线阅读,更多相关《MATLAB中的动画设计(16页珍藏版)》请在金锄头文库上搜索。

1、MATLAB中的动画设计同济大学MATLAB中的动画设计电影动画擦除动画3质点动画12MATLAB中的动画设计质点动画1 1、质点动画、质点动画产生一个顺着曲线轨迹运动的质点来操作使用comet、comet3函数最简单的动画产生方式MATLAB中的动画设计质点动画step1:求解出质点完整的运动轨迹坐标x,y和zstep2:使用comet或者comet3直接绘制动点设计步骤MATLAB中的动画设计质点动画【例1】质点绕圆轨迹运动%使用函数comet建立质点绕圆运动的动画cleart=linspace(0,2*pi,10000);x=cos(t);y=sin(t);plot(x,y);%以便比较

2、comet是否跟着轨迹走axis square;hold on;comet(x,y,0.03)MATLAB中的动画设计质点动画【例2】质点绕螺旋轨迹运动%使用函数comet3建立质点绕圆运动的动画cleart=0:pi/500:10*pi;plot3(sin(t),cos(t),t)axis square;%hold on;comet3(sin(t),cos(t),t,0.5)MATLAB中的动画设计质点动画【例3】平抛运动%平抛运动clearvx = 40;t = 0:0.01:10;x = vx*t;y = -9.8*t.2/2;comet(x,y)MATLAB中的动画设计质点动画【例4】

3、导弹发射%导弹发射vx = 100*cos(1/4*pi);vy = 100*sin(1/4*pi);t = 0:0.001:15;x = vx*t;y = vy*t-9.8*t.2/2;comet(x,y)MATLAB中的动画设计电影动画2 2、电影动画、电影动画从不同的视角拍下一系列对象的图形,并保存到变量中,然后按照一定的顺序像电影一样播放。使用getframe、movie函数。getframe函数函数可以捕捉动画帧,并保存到矩阵中。该函数的主要格式有:(1)F=gefframe,从当前图形框中得到动画帧(2)F=gefframe(h),从图形句柄h中得到动画帧(3)F=getframe

4、(h,rect),从图形句柄h的指定区域rec中得到动画帧当创建了一系列动画帧后,可利用movie函数函数播放这些动画帧。该函数的主要格式有:(1)movie(M),将矩阵M中的动画帧播放一次(2)movie(M,n),将矩阵M中的动画帧播放n次(3)movie(M,n,fps),将矩阵M中的动画帧以每秒fps帧的速度播放n次MATLAB中的动画设计电影动画step1:调用getframe函数生成每个帧。该函数返回一个列矢量,利用这个矢量,就可以创建一个电影动画矩阵。step2:调用movie函数按照指定的速度和次数运行该电影动画。step3:调用movie2avi函数可以将矩阵中的一系列动画

5、帧转换成avi视频文件。这样,即使脱离了matlab环境也可播放动画。程序结构设计步骤MATLAB中的动画设计电影动画【例5】绕Z轴旋转的peak动画%绕Z轴旋转的Peak动画X,Y,Z=peaks(30);surf(X,Y,Z);set(gca,visible,off);colormap(hot)shading interp%记录电影for i=1:15 view(-45+15*(i-1),30) %视角的改变 m(:,i)=getframe;%抓取画面值endmovie(m)%播放画面MATLAB中的动画设计擦除动画3 3、擦除动画、擦除动画使用Matlab的绘图函数不断重复绘制图形对象,

6、重绘过程中递增式地改变图形对象位置将产生动画效果。使用drawnow命令;设置擦除模式(EraseMode)。最常用的动画设计方式。Matlab的图形绘制函数允许采用不同的擦除模式来擦除原来的对象,不同的擦除模式将产生不同的动画效果。擦除模式是通过没置“EraseMode”属性来完成的,一共有三种擦除模式:(1)none:重新绘制图形对象时不擦除原来的对象,这种模式可动态演示图形的生成过程,如曲线和旋转曲线的生成过程。(2)background:在重新绘制图形对象之前。用背景色重绘对象来达到擦除原来图形对象的目的。该模式会擦除任何对象和它下面的任何图形。(3)Xor:在重新绘制图形对象之前,只

7、擦除原来的对象,不会擦除其他对象或图形。这种模式能产生图形对象移动的效果。MATLAB中的动画设计擦除动画step1:设置重绘对象的擦除模式EraseMode模式step2:在循环语句中使用set更改图形的xdata,ydata和zdata等坐标数据。step3:使用darwnow命令刷新屏幕程序结构设计步骤set(h,erasemode,erasemode)%h是需要执行动画图像的句柄,一般都是由line或者plot创建for i=1:n set(h,xdata,xdata,ydta,ydata)%更新图像的坐标数据 drownnow%刷新屏幕endMATLAB中的动画设计擦除动画【例6】随时间衰减的正弦函数%随时间衰减的正弦函数t=0:0.005:10*pi;%产生曲线并用xor方式抹去旧曲线h=plot(t,sin(2*t).*exp(-t/5),EraseMode,xor);set(gcf,Position,450,350,350,250)for i=1:200 y=sin(2*t+i/10).*exp(-t/5); set(h,ydata,y);%不断更新y值 drawnow;endMATLAB中的动画设计擦除动画【例7】运动的小球【例9】时钟演示【例8】单摆横梁【例10】小球绕跑道运动Thanks!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号