新·Matlab动画技术.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例 作动画演示peaks图形逐渐趋近于平面的过程。 p=peaks(11); h=axes(Position,[0,0,1,1],visible,off) for i=1:10 p1=p/i;surf(p1) set(h,Zlim,[0 10]) axis off; pause(0.3) end 程序运行时,随着i的增加,曲面的高度逐渐缩小,形成了动画效果。为了更好的观察,设置固定了坐标系的Z轴范围为[0 10]。 例 作动画演示一个图形逐渐演化成peaks图形的过程。 p=peaks(16);s=sphere(15); for i=30:-2:1 p1=s+p/i;surf(p1);axis off;pause(0.1); end 程序中,先使用peaks函数产生图形数据,再使用sphere函数产生数据,然后对这些数据进行组合,实现从一个图形到peaks图形的转变。下图是一些中间帧。 注:sphere函数产生数据后,使用surf函数对这些数据进行绘制不能产生球体。而是类似于上图中的第一个图形。 [X1,Y1,Z1]= peaks(16); [X2,Y2,Z2]=sphere(15); for i=1:5:100 Z3=Z1/i+Z2; surf(X2,Y2,Z3) axis square off pause(0.1) end 如果演示从 sphere 曲面变成一个球体,可以使用下面程序。 路径动画 路径动画制作方法也是动画制作软件常用的一个方法。首先为动画设定一个路径,路径可以是规则的几何曲线,也可以是手工绘制的曲线;然后先把物体放到始点位置,再放到终点位置,确认后,让物体沿曲线运动。 三维物体路径动画制作过程中,需要处理好消隐问题。根据使用的具体语言或软件来处理消隐问题,Matlab语言函数可以自动实现消隐,三维软件也都可以自动处理消隐问题;但是象C 语言、VB等就没有提供这方面的功能。 使用Matlab可以很容易地实现路径动画。 例 作一个球体沿一段正弦曲线运动。 x=0:0.1:1; y=sin(x); h=axes(Position,[0,0,0.1,0.1]) for i=1:10 set(h,Position,[x(i),y(i),0.1,0.1]) sphere(15); axis off pause(0.1) end 因为程序中的正弦曲线是自变量取 0~1 之间的一段,所以,看上去像是沿直线运动。程序关键是每次重新设置绘图坐标轴的起始位置。 例 作一个球体沿正弦曲线运动一个周期。 修改前一页中的程序如下: 该程序能够实现一个球体沿正弦曲线运动一个周期。如下图所示。 x=0:0.1:2*pi; y=sin(x); h=axes(Position,[0,0,0.1,0.1]) for i=1:62 set(h,Position,[x(i)/(2*pi),y(i)/(2*pi)+0.5,0.1,0.1]) sphere(15);axis off;pause(0.1); end 图中的曲线是使用语句后加入的。 例 作一个球体沿随机曲线运动。 下例演示的是一个球体沿随机曲线运动的动画。 y=rand(1,30); axis off h1=axes(Position,[0,0,1,1]) plot(y) axis off h=axes(Position,[0,0,0.1,0.1]) for i=1:30 set(h,Position,[i/30,y(i),0.1,0.1]) sphere(15);axis square off pause(0.1) end * * 1. 程序动画 从计算机图形学上看,动画就是绘制的图形发生变化。这个变化不能太快,也不能太慢,要被人的视觉接受。在程序执行时,能够使图形变化达到视觉要求。 例 程序动画制作。 下面程序就完成了一个动画。 [X,Y]=meshgrid(-10:1:10); Z=X.^2/36-Y.^2/25; h=mesh(Z) for i=1:10:360 rotate(h,[20,3,56],i) pause(0.1) end 程序动画与电影动画 程序中rotate函数是Matlab提供的一个图形变换函数。函数rotate(h,[20,3,56],i)中, h是图形句柄,表示Mesh(Z)绘制的图形;[20,3,56]决定

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档