MATLAB-动画图-----作动态图.docx
MAT1.AB技术论坛电子期刊www.mat(编辑:xiezhhIJJ电步动wii¾示实伊J(一)一货”化的炒余1 .1.2电影动uii加实例(.)动的红心1.2擦除动旃1.2.1MMab擦除也壮动IHi-丈例运动的小球122Madnb俄除俄看动两实例)一.-中接横梁1.23MMab携除用绘功画实例:)时钟滋小1.2.4Miillab擦除用绘动H¾例(叫)小球j粗宽运动1.31点动Kti131板点动触湖示(一)1.3.24点动向湎东(JT:珀运动1.3.34力:动画淘东B与洋依时1.4兆虹灯效果动刀14/虹rt果aMMn()霓虹闪的总体I.&2施打灯效果动由实例(:花心15GlF格式动画制作1.5,1GlF格A功再制作案例境螺/线运功的小球2动画的保存3有关动画制作的试验报告4更多动画实例4电影动IHii面示旋转的山峥4.2 擦除动Iffli实例一一卫星绕地球运动(注料用具体)4.3 擦除动画实例一太阳I地琼I月亮IR星,晓转演示动画注徉很具体)5光学夫朗和费衍射现象模拟MAT1.AB源代码6牛顿环动画演示MAT1.AB源代马7运用MAT1.AB绘制原子轨道和电子云图形8推动携MAT1.AB动画源代询口在图形窗1.l中根据肯定的算法连续擦除和重绘图形对象.表现为动皿,这个也是MAT1.AB中运用呆多的方法,运用Mallab的绘图函数不断取发绘制图形对象,重绘过程中递增式地变更图形对象位也将产生动Ai效果.在电绘对队的过程中之所以能产生动向效果是由于对原来的图形对象进行了擦除处埋.MT1.AB中,创建擦除王绘动画的过程分为以下三步:Stepl:设置取票对象的擦除模式EraseMolM模式Matlab的图形绘制的数允许采纳不同的擦除模式来擦除原来的对象.不同的擦除模式将产生不同的动画效果,擦除模式是通过没置“EmseModJ属性来完成的,一共有三种擦除模式:none:重新绘制图形对象时不擦除原来的对象,这种模式可动态演示图形的生成过程,如曲线和旋转曲班的生成过程background:在Hi新绘制图形对象之前。用背段色IR绘对象来达到擦除原来图形对象的目的.该模式会擦除任何对象和它卜面的任何图形Xor:在重新绘制图形对望之前,只擦除原来的对象,不会擦除其他对破或图形.这种模式能产生图形对象移动的效果step2:在循环语句中运用隧I更改图形的Xdaaydaia和ZdaIa等坐标数据SleP3:运用darwnow吩咐刷新屏幕该方法的愚典格式是:擦除核武动画%选择一个擦除模式set<h,erasemode,eraserrode)h是须要执行动Mi图像的句柄,iffi½fllline或者plot创珑g沟蹙执行-%图形U算吩咐*"循环语句中更新题标数据,一般运用for或者whilefori»l:n务必要的MAT1.AB吩用%sct(hra×datavr×datr,ydtaydata>。更新图像的坐标敬招drown11owSWMSlff%彳"它Ma1.iab语句%endMatlab擦除承绘动画实例(一)运动的小球functionC-anim_ball(Krkl>演示红色小球沿条封用货螺雄运动的实时动画%仅演示实时动IHi的调川格式为anlm-ball(K)%僚;演示实时动画又拍摄照片的调用格式为f-a11im-ball(K,ki)%K红球运动的循环数(不小于1)%Xi指定拍摄照片的瞬间,取1到1034例的BiJS整t%f存储拍掇的照片数据11JJHimage<f.CdAta)视察照片%产生封闭的运动也鼓%bydynamictl-<0:1000)1000*10*pl;×lco三<tl>t2三<0510)10;x2-xl(end><l-t2);y2-yl(end)(l-t2l;z2-zl(end)*ones<size(x2)>t3-t2;z3(l-t3)*zl(end);×3f-zeros(size(z31)y3-×3;t4=t2;x4-t4;y4-zero8<slze<x4)I;z4-y4;×-Ixl×2×3x1;y-lyly2y3y4;z-21z2z3z1;h三figure(,numbertitle,r,off,name,J掾除TJlHl演示(运动的小球Matlabsky')plot3(x,y,z,b')axisoff金绘IW红点«擦除模式设为X6h-line<'Coior,Il00),'Karker',.','MrkerSize',40,'EraseMode','xor'>nf-lengthIxl;i=l;j=l;8循环变更坐标,我现为小球送动while1if'-i三handle(h>return,endset(h,×data,X(i>,ydata½y(i>,*zdata,z(i)I;drawnow;pause10.0005>劣这里设JK小球运动速度ifnargin=2&nargout=lit(1-ki4J-1>t-9etframelgcf>end获得指定的帆保存到f中endifi>nxm2-xm32÷0.5cos(tm-pi2>ym2-ym324.5*sin(tm-pi2>xm4-xm32-0.5*co三(tm-pi2>ym4=yn32-0.5*sin(tm-pi2>m-fill(0xm2×m3xm4OlrIOym2ym3ym40)r0.60.50,3>%计算杪针位置3-(tiI60*2*pi+pi2;hs=plot(07*cosIts),(07*sin<ts>)r,colorir,w,vIinewidthflr2);set<gcf,dob1.ebtferron);while1;UIOcNf5次读取系统时孙并进行运尊%计算时针位置th-(ti(4>+tl(5)60+tl(6)3600)122*pi*pi2;xh3-4.Oco<th);yh3>4.O<sin<th);×h2=×h32÷0.5*cos(th-pi2>yh2-yh32+0.5*sin(th-pi2>×4-×32-0.5*cos(t-pi2>yh4三yh32-0.5*sin(th-pi2>set<hhr'Xata,rO×h2xh3xh4Oj,lYDataS(Oyh2yh3yh4D)%计算分钟flmtm-(ti(5>*ti16)/60)602*pi4pi2;xm36.0rco三(tm);ym3=6.05in<tm);xm2-xm32-*0.5*cos(tm-pi2>ym2-ym324.5sin(tm-pi2>×m4-×m32-0.5co三(tm-pi2>ym4=yn32-0.5*sin(tm-pi2>set<hmrXData½10×m2xjt»3×m40)z,YDataOyn2ym3ym4O)J%计算秒计位置U-(ti(6>I60*2*pi+pi2;set<hsr,XData,rO7*cos(tslJr,YData,(O7*sin<ts)Idrawnow;pause(0.09)endcatchKatIaBSW-Tr造处优、专业和权威的H犹Iab技术沟通7台!史乡治则杂见:,<ahref-wmatlabwebmatlabsky'':/m&tlabskyreturnendMatlab擦除市绘动画实例(四)小球绕跑道运动小球跄龙遒运动%tewrltebydynamicreturnendendendend1.3质点动画帖子地址:用ComeH)等函数绘制打星图,它能演示一个质点的运动,质点运动轨迹动战方式是最简洁的动亘产生方式,顼名思义,就是产生一个顺在曲线凯速运动的质点来操作。Matlab(HMtTcomet和COmCl3吩时来实现质点运动轨迹动IBIi的绘制避常少格式为:corret(xdata,ydatarp)%P是指优星的尾巴的长度.可以是常数或WSiZe(X)大小的向镰Jt他具4格式大家可以参考&>ccom"/1.系金该方法的运用一般运用步骤如下:step):求解出质点完整的运动轨迹坐标X,y和Zse2:运用cont说者Colnel3干腌绘制动点质点动画演示(一)%bydynamict-0:pi/50:10*pi;x=30*sinltl;y-30*cosItl;z-t;plot3(xfyrz);holdon%axisequalcorrt3<×/y,zr0.5)质点动画演示(二1平抛运动%bydynamicvx-40;C=0:0.01:10;X-v×*t;y-9.8*t.A2/2;(Xfy)-me8hgrld<t);z-17*x.A2-16*abs(x).*y÷17*y.a2-225;pcolor<×/y,x>shadingInterpPaUSe;spinmap(10)1.5GIF格式动画制作帖子地址:GIF格式动画以其小巧受到大家的广泛欢迎,本贴以窠例形式做一个总结。制作GIF动封要用到gctframc、frame2im、rgb2ind和imwritc函数.gctframc函数用来抓取当前图形窗11中的图像fmmc2im函数和rgb2ind函数用来将抓取的图像转为索引图像.inwri<e函数用来将索引图像写入GIF格式动画,须要留意的是imwrite函数不能将出彩图像写入GIF格式动画,关于这些函数的具体用法,这里不再详述,请版发自行卷阅帮助。下而只给出案例.GIF格式动画制作案例绕螺旋线运动的小球%byxiezhhfilename-,xiezhh.gif,;z=Iinspace(0r10*pi#100l;9产生一个行向fitx-20sin<z)rzeros(lr10>);y-20cos(z)z20*ones<l/10);z-z,Iinspace(10*pizOf101;plot31×,yfz,r,1.inewidth,2l;$绘别蟀底线holdon、图影保持h-lot3(0r20r0x'.rMarkerSize1,40,EraseMode1.,×or,);xlabel<'X;ylabl<lY,;zlahl2'>2涔加坐标轴标签a×is(-2525-2525040>*设Jl坐标柏急图view(-210r30>务设?I视角fori三1:length×)set(hr,×data,×<i>,ydata,y(i),zdatarz<i);drawnow;%刷新屏格pause(0.05)f-getframeIgcf>imind=fra>2im(f);imnd,cm-rgb21ndlimindz256l;ifA-1imwrite<i11indrcmffilename/'gif'.Voopcount,rinf,lDelayTlme9rO.1);