MATLAB中的动画设计.ppt

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

《MATLAB中的动画设计.ppt》由会员分享,可在线阅读,更多相关《MATLAB中的动画设计.ppt(16页珍藏版)》请在三一办公上搜索。

1、MATLAB中的动画设计,同济大学,MATLAB中的动画设计,电影动画,擦除动画,3,质点动画,1,2,MATLAB中的动画设计质点动画,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,

2、y);%以便比较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中的动画设计质点动

3、画,【例4】导弹发射%导弹发射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、电影动画从不同的视角拍下一系列对象的图形,并保存到变量中,然后按照一定的顺序像电影一样播放。使用getframe、movie函数。,getframe函数可以捕捉动画帧,并保存到矩阵中。该函数的主要格式有:(1)F=gefframe,从当前图形框中得到动画帧(2)F=gefframe(h),从图形句柄h中得到动画帧(3)F=getframe(h,rect),从

4、图形句柄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函数可以将矩阵中的一系列动画帧转换成avi视频文

5、件。这样,即使脱离了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、擦除动画使用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%刷新屏幕end,MATLAB中的动画设计擦除动画,【例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;end,MATLAB中的动画设计擦除动画,【例7】运动的小球,【例9】时钟演示,【例8】单摆横梁,【例10】小球绕跑道运动,Thanks!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号