MATLAB中的動(dòng)畫設(shè)計(jì)_第1頁
MATLAB中的動(dòng)畫設(shè)計(jì)_第2頁
MATLAB中的動(dòng)畫設(shè)計(jì)_第3頁
MATLAB中的動(dòng)畫設(shè)計(jì)_第4頁
MATLAB中的動(dòng)畫設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

MATLAB中的動(dòng)畫設(shè)計(jì)

同濟(jì)大學(xué)2021/5/91MATLAB中的動(dòng)畫設(shè)計(jì)電影動(dòng)畫擦除動(dòng)畫3質(zhì)點(diǎn)動(dòng)畫122021/5/92MATLAB中的動(dòng)畫設(shè)計(jì)——質(zhì)點(diǎn)動(dòng)畫1、質(zhì)點(diǎn)動(dòng)畫產(chǎn)生一個(gè)順著曲線軌跡運(yùn)動(dòng)的質(zhì)點(diǎn)來操作使用comet、comet3函數(shù)最簡單的動(dòng)畫產(chǎn)生方式2021/5/93MATLAB中的動(dòng)畫設(shè)計(jì)——質(zhì)點(diǎn)動(dòng)畫step1:求解出質(zhì)點(diǎn)完整的運(yùn)動(dòng)軌跡坐標(biāo)x,y和zstep2:使用comet或者comet3直接繪制動(dòng)點(diǎn)設(shè)計(jì)步驟2021/5/94MATLAB中的動(dòng)畫設(shè)計(jì)——質(zhì)點(diǎn)動(dòng)畫【例1】質(zhì)點(diǎn)繞圓軌跡運(yùn)動(dòng)%使用函數(shù)comet建立質(zhì)點(diǎn)繞圓運(yùn)動(dòng)的動(dòng)畫cleart=linspace(0,2*pi,10000);x=cos(t);y=sin(t);plot(x,y);%以便比較comet是否跟著軌跡走axissquare;holdon;comet(x,y,0.03)2021/5/95MATLAB中的動(dòng)畫設(shè)計(jì)——質(zhì)點(diǎn)動(dòng)畫【例2】質(zhì)點(diǎn)繞螺旋軌跡運(yùn)動(dòng)%使用函數(shù)comet3建立質(zhì)點(diǎn)繞圓運(yùn)動(dòng)的動(dòng)畫cleart=0:pi/500:10*pi;plot3(sin(t),cos(t),t)axissquare;%holdon;comet3(sin(t),cos(t),t,0.5)2021/5/96MATLAB中的動(dòng)畫設(shè)計(jì)——質(zhì)點(diǎn)動(dòng)畫【例3】平拋運(yùn)動(dòng)%平拋運(yùn)動(dòng)clearvx=40;t=0:0.01:10;x=vx*t;y=-9.8*t.^2/2;comet(x,y)2021/5/97MATLAB中的動(dòng)畫設(shè)計(jì)——質(zhì)點(diǎn)動(dòng)畫【例4】導(dǎo)彈發(fā)射%導(dǎo)彈發(fā)射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)2021/5/98MATLAB中的動(dòng)畫設(shè)計(jì)——電影動(dòng)畫2、電影動(dòng)畫從不同的視角拍下一系列對(duì)象的圖形,并保存到變量中,然后按照一定的順序像電影一樣播放。使用getframe、movie函數(shù)。getframe函數(shù)可以捕捉動(dòng)畫幀,并保存到矩陣中。該函數(shù)的主要格式有:(1)F=gefframe,從當(dāng)前圖形框中得到動(dòng)畫幀(2)F=gefframe(h),從圖形句柄h中得到動(dòng)畫幀(3)F=getframe(h,rect),從圖形句柄h的指定區(qū)域rec中得到動(dòng)畫幀當(dāng)創(chuàng)建了一系列動(dòng)畫幀后,可利用movie函數(shù)播放這些動(dòng)畫幀。該函數(shù)的主要格式有:(1)movie(M),將矩陣M中的動(dòng)畫幀播放一次(2)movie(M,n),將矩陣M中的動(dòng)畫幀播放n次(3)movie(M,n,fps),將矩陣M中的動(dòng)畫幀以每秒fps幀的速度播放n次2021/5/99MATLAB中的動(dòng)畫設(shè)計(jì)——電影動(dòng)畫step1:調(diào)用getframe函數(shù)生成每個(gè)幀。該函數(shù)返回一個(gè)列矢量,利用這個(gè)矢量,就可以創(chuàng)建一個(gè)電影動(dòng)畫矩陣。step2:調(diào)用movie函數(shù)按照指定的速度和次數(shù)運(yùn)行該電影動(dòng)畫。step3:調(diào)用movie2avi函數(shù)可以將矩陣中的一系列動(dòng)畫幀轉(zhuǎn)換成avi視頻文件。這樣,即使脫離了matlab環(huán)境也可播放動(dòng)畫。程序結(jié)構(gòu)設(shè)計(jì)步驟2021/5/910MATLAB中的動(dòng)畫設(shè)計(jì)——電影動(dòng)畫【例5】繞Z軸旋轉(zhuǎn)的peak動(dòng)畫%繞Z軸旋轉(zhuǎn)的Peak動(dòng)畫[X,Y,Z]=peaks(30);surf(X,Y,Z);set(gca,'visible','off');colormap(hot)shadinginterp%記錄電影fori=1:15view(-45+15*(i-1),30)%視角的改變m(:,i)=getframe;%抓取畫面值endmovie(m)%播放畫面2021/5/911MATLAB中的動(dòng)畫設(shè)計(jì)——擦除動(dòng)畫3、擦除動(dòng)畫使用Matlab的繪圖函數(shù)不斷重復(fù)繪制圖形對(duì)象,重繪過程中遞增式地改變圖形對(duì)象位置將產(chǎn)生動(dòng)畫效果。使用drawnow命令;設(shè)置擦除模式(EraseMode)。最常用的動(dòng)畫設(shè)計(jì)方式。Matlab的圖形繪制函數(shù)允許采用不同的擦除模式來擦除原來的對(duì)象,不同的擦除模式將產(chǎn)生不同的動(dòng)畫效果。擦除模式是通過沒置“EraseMode”屬性來完成的,一共有三種擦除模式:(1)none:重新繪制圖形對(duì)象時(shí)不擦除原來的對(duì)象,這種模式可動(dòng)態(tài)演示圖形的生成過程,如曲線和旋轉(zhuǎn)曲線的生成過程。(2)background:在重新繪制圖形對(duì)象之前。用背景色重繪對(duì)象來達(dá)到擦除原來圖形對(duì)象的目的。該模式會(huì)擦除任何對(duì)象和它下面的任何圖形。(3)Xor:在重新繪制圖形對(duì)象之前,只擦除原來的對(duì)象,不會(huì)擦除其他對(duì)象或圖形。這種模式能產(chǎn)生圖形對(duì)象移動(dòng)的效果。2021/5/912MATLAB中的動(dòng)畫設(shè)計(jì)——擦除動(dòng)畫step1:設(shè)置重繪對(duì)象的擦除模式'EraseMode'模式step2:在循環(huán)語句中使用set更改圖形的xdata,ydata和zdata等坐標(biāo)數(shù)據(jù)。step3:使用darwnow命令刷新屏幕程序結(jié)構(gòu)設(shè)計(jì)步驟set(h,'erasemode',erasemode)%h是需要執(zhí)行動(dòng)畫圖像的句柄,一般都是由line或者plot創(chuàng)建fori=1:nset(h,'xdata',xdata,'ydta',ydata)%更新圖像的坐標(biāo)數(shù)據(jù)drownnow%刷新屏幕end2021/5/913MATLAB中的動(dòng)畫設(shè)計(jì)——擦除動(dòng)畫【例6】隨時(shí)間衰減的正弦函數(shù)%隨時(shí)間衰減的正弦函數(shù)t=0:0.005:10*pi;%產(chǎn)生曲線并用xor方式抹去舊曲線h=plot(t,sin(2*t).*exp(-t/5),'EraseMode','xor');set(gcf,'Position',[450,350,350,250])fori=1:200y=sin(2*t+i/10).*exp(-t/5);set(h,'yda

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論