使用Matlab的繪圖函數不斷重複繪製圖形對象,重繪過程中遞增式地改變圖形對象位置將產生動畫效果。在重繪對象的過程中之所以能產生動畫效果是由於對原來的圖形對象進行了擦除處理。
MATLAB中,創建擦除重繪動畫的過程分爲以下三步:
step1:設置重繪對象的擦除模式'EraseMode'模式
Matlab的圖形繪製函數允許採用不同的擦除模式來擦除原來的對象,不同的擦除模式將產生不同的動畫效果。擦除模式是通過沒置“EraseMode”屬性來完成的,一共有三種擦除模式:
none:重新繪製圖形對象時不擦除原來的對象,這種模式可動態演示圖形的生成過程,如曲線和旋轉曲砸的生成過程
background:在重新繪製圖形對象之前。用背景色重繪對象來達到擦除原來圖形對象的目的。該模式會擦除任何對象和它下面的任何圖形
Xor:在重新繪製圖形對象之前,只擦除原來的對象,不會擦除其他對象或圖形。這種模式能產生圖形對象移動的效果
step2:在循環語句中使用set更改圖形的xdata,ydata和zdata等座標數據
step3:使用darwnow命令刷新屏幕
該方法的經典格式是:
- %擦除重繪模式動畫
- %選擇一個擦除模式
- set(h,'erasemode',erasemode)%h是需要執行動畫圖像的句柄,一般都是由line或者plot創建
- %
- %需要執行一些圖形計算命令
- %
- %循環語句中更新座標數據,一般使用for或者while
- for i=1:n
- %
- %必要的MATLAB命令
- %
- set(h,'xdata',xdata,'ydta',ydata)%更新圖像的座標數據
- drownnow%刷新屏幕
- %
- %其它Matlab語句
- %
- end