




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. 1、MATLAB程序设计入门篇动画制作、张智星清大资系补充内容:方炙台大生命系、2 6-1MATLAB动画概要6-2电影制作动画(a ) .电影动画例1(b ) .电影动画例2(c ) 电影动画示例3-6-3在对象中创建动画(a ) .曲线动画(b ) .曲线EraseMode(c ) .对象动画示例,3,6-1 MATLAB动画概述,如何在MATLAB中创建动画此方式类似于电影的原理,可以制作鲜明的动画,但其缺点是所有画面必须事先准备好,不能及时成像,而且在所有画面上,到一系列动画都需要相当大的存储空间。 对象方式:在MATLAB的“控制柄图形”中,请参阅本手册的第7章)的概念中,所有曲线和曲面都可视为一个对象,MATLAB可以立即删除旧曲线,创建类似但不同的新曲线,看到曲线随时间变化的效果使用对象方法(即夹点图形)生成的动画,可以表示实时变化,不需要过多的内存要求,但存在生成复杂动画困难的缺点。 4,6-2要在电影中生成动画并在电影中生成动画,请使用getframe命令捕获图形作为电影的屏幕,并将每个屏幕放置在一个行向量中表示电影的整个矩阵中。 可以使用movie命令播放电影,并指定重复播放的次数和每秒播放的帧数。5、电影动画范例,以下范例会以不同的角度显示peaks函数,并将结果制作成电影动画: 例6-1:movie01.m、清除clearM%电影资料矩阵Mn=50捕捉p个画面peaks; fprintf (捕捉画面中.n ) fori=1: nview (-37.5 I * 360/n,30 ) 捕捉改变%观测角度M(i)=getframe的%画面,保存到电影资料矩阵Mendfprintf中(正在播放电影. n )播放3次n) movie(M,3) %电影,在圆盘上描绘6、电影动画例1、最后一帧的影像、7、电影动画例2、peaks函数,变换该函数的高度,在动画例6-2:movie02.m、clearM%中播放%磁盘的半径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 ); fprintf (捕捉画面中.n) fori=1:nsurf(xx,yy,zz*scale(i ) ) %制图axis(-infinf-infinf-8.58.5 ) %固定坐标轴的范围boxonM(i)=getframe; 捕捉%画面,保存到电影资料矩阵Mendfprintf中(播放电影.n )播放5次movie (m,5) %电影,8次,电影动画例2,最后的frame的影像,9次,电影动画例3,改变影像的色盘矩阵,影像从正片变为负片效果例6-3:1 colormap(map) %绘制小丑的脸n=30 %捕捉30画面scale=cos (linspace (0,2 * pi,n ) ) fprintf (捕捉画面中.n ) fori=1: n colormap (I-1 ) * (1- map ) (n-I ) * map )/n ); 捕获%调色板矩阵m (I )=改变get frame的%画面,保存到电影资料矩阵Mendfprintf中(正在播放电影.n) movie(M, -5)播放%电影5次(包括正向和反向播放)、10、示例3的电影动画,在上例中,正(下一张幻灯片的左侧)调色板中的矩阵是map,1-map是负(下一张幻灯片的右侧)调色板中的矩阵,因此保留了影片另外,movie(M,-5)表示电影被再生5次,但是由于第2个参数是负值,所以在1次再生中包含“正向再生”和“反向再生”。. 11,电影动画的例子3,正盘矩阵为map,负盘矩阵为1-map, 12,电影动画的其他例子,MATLAB的demo程序中也包含了几个与电影方式相关的动画, 读者可以在命令窗口中输入以下命令之一:以xpmovievibesxpmovielogosxpmoviecrulsepin,13,6-3对象方式生成动画,以电影方式生成动画是“暴力法” 该方法占用了大量的存储空间。 另一种技巧是将动画作为对象生成。 这种方法不需要大量内存即可生成“实时”(Real-time )或“交互式”(Interactive )动画。 MATLAB中的所有图形组件(曲线、曲面、图形轴等)都是对象,可以控制这些对象的不同性质。 此特性称为“手柄图形”,见第七章。 夹点图形包含许多级别,但动画部分的基本概念并不复杂。 下面是曲线的动画。14,对于曲线动画,我们可以快速改变图形对象的性质(颜色、坐标等),对于可以实现动画效果的每条曲线,xdata :这是向量,表示曲线的x坐标值ydata :这是向量,表示曲线的y坐标值erase max . 15、曲线的EraseMode、EraseMode对动画的表现非常重要,该字符串有以下选择: normal :重画整个画面。 xor :用xor恢复旧曲线的点。 背景:将旧曲线点更改为背景色。 none :保持旧曲线的点,不进行任何处理。 在上述4种erase模式中,虽然normalxorbackgroundnonexor和background很接近,但是background因为要擦除其他旧曲线扫描的其他对象(图中的轴、网格线、其他曲线等),所以不怎么使用.16,曲线动画,有了这些概念,就容易制作曲线动画了! 其主要步骤有两个:生成EraseMode为xor、background或none的曲线。 在for-loop中,更改此曲线的xdata和/或ydata。 我们生成随着x衰减的正弦曲线,随着时间增大k (改变正弦波的相位角),产生跳动整个曲线的效果。 生成衰减的正弦曲线(改变正弦波的相位角),作为对象动画的一个示例,k随着时间的推移而增大,从而使整条曲线跳动。 例6-1:movie04.m,x=0:0.1:8*pi; h=plot(x,sin(x).*exp(-x/5 ),EraseMode,xor ); axis(-infinf-11 ) 绘制%图表轴范围gridon%的网格线fori=1:5000y=sin(xi/50 ) *exp(-x/5) set(h,ydata,y) %设置新的y坐标drawnow%后,立即创建衰减的正弦曲线(改变正弦波的相位角)作为end,18,对象动画的示例,使k随时间增大,从而产生整条曲线跳动的效果。 例6-1:movie04.m,x=0:0.1:8*pi; h=plot(x,sin(x).*exp(-x/5 ),EraseMode,xor ); axis(-infinf-11 ) 绘制%图表轴范围gridon%的网格线fori=1:5000y=sin(xi/50 ) *exp(-x/5) set(h,ydata,y) %设定新的y坐标drawnow%后,立即使用end,19,目标动画的例子1,最后一帧的画面,20,目标动画的例子1,在前面的例子中,使用set命令,将曲线的y坐标合计为500 drawnow的作用是,通过使MATLAB能够立即处理set命令,如果没有drawnow,则MATLAB会积累set命令,即使在for-loop结束之前一起处理图形的变化,也看不到动画的效果。 如果将上例中的EraseMode更改为background,则表示图表的网格线和图表轴的线将被“删除”。 将上例中的EraseMode更改为none会保留旧曲线,并产生不同的效果。21,对象动画的示例:MATLAB和MATLAB存在许多对象动画的示例:用lorenz:3d动画表示的Lorenz混沌方程(ChaoticEquation )似乎在移动彗星。truss :地震时桥梁的振动方式总共有12种呢travel:travelsearch演示如何打乱travelingsalespersonnproblem.fit demo。 演示如何在downhillsimplesearchsearch中解决“非线性曲线拟合”问题。 spinner :一般萤幕保护程式。 xphide :试试你的视力。 22、目标动画示例:Simulink,如果安装了Simulink,请尝试以下动态系统模拟和动画表示法: onecart :传统弹簧和平衡块动态系统。 dblcart1一个弹簧加上两个配重的动态系统。 辛普森:简单的单摆系统。 dblpnend1:2:两个摆动系统。 dblpend2:更复杂的摆动系统。 pendmode :逆单摆系统。 23、目标动画示例:模糊工具箱,如果安装了FuzzyLogicToolbox,请尝试张老师开发的模拟和动画: FCM demo:fuzzyc-means clusters juggler :用木板接球。 invkine本机械臂的InverseKinematics。 slcp1:反向悬臂,棒的长度随时间变化,可控制所需位置。 slcpp1:双反单摆时,一根棒的长度随时间变化,因此可以控制想要到达的位置。 slbb :跷跷板和滚动球的系统,可以控制球的最后位置。 sltbu :逆向入库系统,24,对象动画生成,小圆(半径1 )围绕大圆(半径3 )滚动提供动画。function my movie 02 close all thetter=0:0.1:2 * pi; r1=3; x1=R1 * cos (theta ) y1=R1 * sin (theta ) plot (x1,y1 ),axisimage%正圆r2=1; center=(r1r2) * 1,0 ; x2=R2 * cos (theta ) y2=R2 * sin (theta ) h=line (center (1) x2,center(2) y2,错误模式,xor,color,r) %小圆axis(-55-55 ) 设定%图表轴的范围n=5旋转5圈旋转电机1=0:0.005:n*2*pi; fori=1:长度(theta1) center=(r1r2) * cos (theta1(I ) ) 、sin (theta1(I ) ); set(h,xdata,center(1) x2,ydata,center(2) y2) %如果设置了小圆的x,y坐标drawnow%,则立即为end,25,function my movie 02 _2close all theta=0:0.133660 r1=3; circle1=R1 * exp (sqrt (-1 ) * theta ) %大圆圈plot(circle1)、axisimager2=1; circle2=R2 * exp (sqrt (-1 ) * theta ) %小圆心=r1r2; h=line(real(center circle2)、imag(center circle2)、EraseMode、xor、color和r) axis(-55-55 ) 设定%图表轴的范围n=5旋转5圈旋转电机1=0:0.005:n*2*pi; fori=1:长度(theta1) center=(r1r2) * exp (sqrt (-1 ) * (theta1(I ) ); set(h,xdata,real(center circle2),ydata,imag(center circle2) ) 设置%小圆的x,y坐标drawnow%后,立即绘制end,26,将动画作为对象创建,然后将圆(半径1 )从屏幕的左侧向右旋转,以绘制从圆周上的任意点绘制出的循环曲线。functioncycloid01%摆线的动画,x=0:0.01:5*pi; theta=linspace (0,2 * pi ) r=1; circle=jar * exp (sqrt (-1 ) * subplot (2,1,1 ) circleh=plot (circle ) axisimageset (circleh、erase、xor) axis(min(x)-r,max(x) r,-0. 5,2 * r0.0) doth=line (0,0,marker,o,color,k,erase,xor ) dot2h=line (0,0,marker,color,r,erase,none ); fori=1:长度(x )设置(circle ha,xdata,x (I )真实(circle ) ) angle=-pi/2-x(i) set(dot1H,xdata,x(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空中乘务专业教学标准(高等职业教育专科)2025修订
- 中医康复技术专业教学标准(高等职业教育专科)2025修订
- 小数乘小数(教学设计)-2024-2025学年五年级上册数学西师大版
- 2025年中国家用洗手液行业市场全景分析及前景机遇研判报告
- 2021-2026年中国海南省房地产行业投资分析及发展战略咨询报告
- 2025-2030年中国盘式真空机行业深度研究分析报告
- 免疫规划家长课堂
- 健康评估中的疼痛管理
- 2020-2025年中国婴儿配方食品行业市场调查研究及投资前景预测报告
- 2023-2029年中国高档铝木窗行业市场发展现状及未来发展趋势预测报告
- 2025年佛山市南海区图书馆招聘题库带答案分析
- 江苏省泰州市实验小学2025年五下数学期末监测试题含答案
- 中华民族共同体概论知到课后答案智慧树章节测试答案2025年春丽水学院
- 2024年浙江省中考社会试卷真题(含标准答案及评分标准)
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
- 2021广东东莞中考地理真题及答案
- GB∕T 39953-2021 五轴联动加工中心 RTCP精度检验
- 冬病夏治三伏贴
- 机械原理课程设计锁梁自动成型机床扳弯机构设计
- 机械制造技术基础课程设计镗套座的工艺规程及镗φ100孔夹具设计(全套图纸)
- 商091-于庆友(数据中心的运维与管理)
评论
0/150
提交评论