當前位置:
首頁 > 最新 > 趣味學編程│MATLAB表白教程

趣味學編程│MATLAB表白教程

GIF

年假將至,又快到今年情人節,「趣味學編程」系列第一期,就用MATLAB寫一段代碼,實現「心動」效果

GIF

1

製作動畫

回到正題,本期的目的是學習編程哈~下面就來講解實現「心動」效果的MATLAB函數句法。要製作動圖,用到以下函數:

linspace(x1,x2,N):產生x1,x2之間的N點行矢量,相鄰數據跨度相同。其中x1、x2、N分別為起始值、終止值、元素個數;若預設N,默認點數為100

[x,y,z]=meshgrid(a,b,c):生成三維數組,可用於三變數函數的計算和三維立體圖的繪製

isosurface(X,Y,Z,V,isovalue):從由X,Y,Z構造的體積V數據中提取由isovalue指定的等值數據,返回結果為一個結構體,包含了等值面的頂點和面(頂點的次序),這些參數可以直接傳給patch命令畫出圖形來

set(H,"PropertyName",PropertyValue,…):用屬性值"PropertyValue"設置關於用參量H標誌的對象(一個或多個)的屬性"PropertyName"(一個或多個)

view(AZ,EL):通過方位角AZ和俯視角EL設置觀察圖形的視點,view(3)設置默認的三維視角,AZ=-37.5,EL=30

light("Color",Value1,"Style",Value2,"Position",Value3):Value1取RGB三元組或相應的顏色字元表示光的顏色;Value2取"infinite"和"local"兩個值分別表示無窮遠光和近光;Value3取三維坐標點組成的向量形式[x,y,z],對於遠光它表示光穿過該點射向原點,對於近光它表示光源所在位置。預設默認為白光、無窮遠光、穿過(1,0,1)射向坐標原點

get(H,"PropertyName")獲取參量H標誌的對象的屬性"PropertyName"

特別要強調for語句循環結構

格式

for 循環變數=循環變數初值:步長:循環變數終值

循環體

end

需要注意的是,當步長為1時可以省略。在這個for循環中,使用getframe函數捕捉動畫幀並保存到矩陣中,從而創建一個電影動畫矩陣;getframe函數格式有:

格式

F=getframe:從當前圖形框中得到動畫幀

F=getframe(h):從圖形句柄h中得到動畫幀

F=getframe(h,rect):從圖形句柄h的指定區域rec中得到動畫幀

當創建了一系列的動畫幀後,調用movie函數按照指定的速度和次數播放該電影動畫;movie函數格式有:

格式

movie(M):將矩陣M中的動畫幀播放一次

movie(M,n):將矩陣M中的動畫幀播放n次

movie(M,n,fps):將矩陣M中的動畫幀以每秒fps幀的速度播放n次

2

保存動畫

可以使用VideoWrite函數把動畫保存為視頻,創建視頻文件的用法是:

writerObj=VideoWriter(filename,profile):filename是要保存文件的名稱(含擴展名),profile是要保存的視頻文件格式,預設值為"Motion JPEG AVI"

MATLAB支持的視頻文件擴展名

與profile參數值的對應關係

.avi

"Motion JPEG AVI"

.mj2

"Motion JPEG 2000"

.mp4 或 .m4v

"MPEG-4"

MATLAB會報告視頻的保存路徑,這樣就可以脫離MATLAB運行上面製作的動畫:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 公共管理定量方法學習 的精彩文章:

TAG:公共管理定量方法學習 |