MATLAB入门简单动画制作.ppt

MATLAB入门简单动画制作.ppt

ID:50731982

大小:428.50 KB

页数:27页

时间:2020-03-16

MATLAB入门简单动画制作.ppt_第1页
MATLAB入门简单动画制作.ppt_第2页
MATLAB入门简单动画制作.ppt_第3页
MATLAB入门简单动画制作.ppt_第4页
MATLAB入门简单动画制作.ppt_第5页
资源描述:

《MATLAB入门简单动画制作.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MATLAB程序设计入门篇 动画制作张智星清大资工系补充内容:方炜台大生机系6-1MATLAB动画简介6-2以电影方式产生动画(a).电影动画之范例一(b).电影动画之范例二(c).电影动画之范例三6-3以对象方式产生动画(a).曲线的动画(b).曲线的EraseMode(c).对象动画之范例6-1MATLAB动画简介MATLAB产生动画的方式有两种:电影方式:以影像的方式预存多个画面,再将这些画面快速的呈现在屏幕上,就可以得到动画的效果。此种方式类似于电影的原理,可以产生很缤纷亮丽的动画,但是其缺点为每个画面都必需事先备妥,无法进行及时成像(Real-timeRend

2、ering),而且每个画面,以至于整套动画,都必需占用相当大的内存空间。物件方式:在MATLAB的「握把式图形」(HandleGraphics,详见本书第七章)概念下,所有的曲线或曲面均可被视为一个对象,MATLAB可以很快的抹去旧曲线,并产生相似但不同的新曲线,此时就可以看到曲线随时间而变化的效果。使用对象方式(即握把式图形)所产生的动画,可以呈现实时的变化,也不需要太高的内存需求,但其缺点是较难产生太复杂的动画。6-2以电影方式产生动画以电影方式来产生动画,可由下列两个步骤来达成:使用getframe指令来抓取图形做为电影的画面,每个画面都是以一个行向量的方式,置放

3、于整个代表电影的矩阵。使用movie指令来播放电影,并可指定播放的重复次数及每秒播放的画面数目。电影动画之范例一在下例中,我们将以不同的角度来显示peaks函数,并将其结果以电影的方式来呈现动画。范例6-1:movie01.mclearM%清除电影资料矩阵Mn=50;%抓取50个画面peaks;fprintf('抓取画面中...');fori=1:nview([-37.5+i*360/n,30]);%改变观测角度M(i)=getframe;%抓取画面,并存入电影资料矩阵Mendfprintf('播放电影中...');movie(M,3);%播放电影三次电影动画之

4、范例一最后一个frame的画面电影动画之范例二将peaks函数画在圆盘上,然后再变换此函数的高度,以动画呈现范例6-2:movie02.mclearM%清除电影资料矩阵Mr=linspace(0,4,30);%圆盘的半径t=linspace(0,2*pi,50);%圆盘的极坐标角度[rr,tt]=meshgrid(r,t);xx=rr.*cos(tt);%产生圆盘上的x坐标yy=rr.*sin(tt);%产生圆盘上的y坐标zz=peaks(xx,yy);%产生peaks在极坐标的数据n=30;%抓取30个画面scale=cos(linspace(0,2*pi,n));f

5、printf('抓取画面中...');fori=1:nsurf(xx,yy,zz*scale(i));%画图axis([-infinf-infinf-8.58.5]);%固定图轴的范围boxonM(i)=getframe;%抓取画面,并存入电影资料矩阵Mendfprintf('播放电影中...');movie(M,5);%播放电影5次电影动画之范例二最后一个frame的画面电影动画之范例三改变影像的色盘矩阵,让影像出现「从正片变到负片」的效果范例6-3:movie03.mclearM%清除电影资料矩阵Mloadclown.matimage(X);colormap

6、(map);%画出小丑脸n=30;%抓取30个画面scale=cos(linspace(0,2*pi,n));fprintf('抓取画面中...');fori=1:ncolormap(((i-1)*(1-map)+(n-i)*map)/n);%改变色盘矩阵M(i)=getframe;%抓取画面,并存入电影资料矩阵Mendfprintf('播放电影中...');movie(M,-5);%播放电影5次(含正向与逆向播放)电影动画之范例三在上述范例中,正片(如下张投影片图左)的色盘矩阵是map,而1-map则是负片(如下张投影片图右)的色盘矩阵,因此我们在抓影片时,让

7、色盘矩阵进行渐进式的变化,因此呈现的电影就有「从正片变到负片」的效果。另外,movie(M,-5)代表电影将播放5次,但由于第二个参数是负数,所以每次播放会包含一次「正向播放」及一次「逆向播放」。电影动画之范例三正片色盘矩阵是map负片色盘矩阵是1-map电影动画的其他范例MATLAB的demo程序中亦包含了数个与电影方式相关的动画,读者可以在指令窗口输入下列任一指令:xpmovievibesxpmovielogospinxpmoviecrulspin6-3以对象方式产生动画以电影方式产生动画可以说是「暴力法」,因为此方法占掉了许多内存空

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。