首先,您必須製作模擬的每個時間步的幀(圖像)。
既然你有笛卡爾座標,你必須將你的x和y座標轉換爲像素索引,並從它們製作圖像矩陣。有關如何執行此操作的示例,請參閱我的answer相關問題。您也可以修改代碼以使點大於像素,具有形狀等,可能用strel
或[a,b,~] = sphere(N)
。
一旦你的框架,你可以很容易地使一個AVI文件(無壓縮或MPEG)在MATLAB:
aviOutput = fullfile('path','to','file.avi');
aviobj = VideoWriter(aviOutput);
aviobj.Quality = 100;
aviobj.FrameRate = 24; %# arbitrary
open(aviobj);
for i=1:length(frames)
writeVideo(aviobj,frames{i}); %# or frames(:,:,i) etc.
end
close(aviobj);
更新上述
假定時間步驟都可以使用。例如:
files = dir('path/to/dir');
files(1:2) = []; %# . and ..
orderedfiles = cell(length(files),1);
for i=1:length(files)
ind = sscanf(files(i).name,[name '%*[_]%u%*s']);
orderedfiles{ind+1} = files(i).name;
end
timeSteps = zeros(numPoints,2,length(orderedfiles));
for i=1:length(orderedfiles)
temp = load(orderedfiles(i).name);
timeSteps(:,:,i) = temp.matrixName %# All the same name?
end
從鏈接答案的代碼寫入到兩個向量x
和y
與座標,您將獲得與timeSteps(:,1,i)
和timeSteps(:,2,i)
,併爲每個時間段做工作。
您是否閱讀過關於動畫的幫助頁面? http://www.mathworks.co.uk/help/techdoc/creating_plots/f10-1460.html –
你在問如何製作獨立電影(* .avi,* .mov或類似),或者如何製作獨立電影在Matlab中動畫/可視化它? – Pursuit
是的,我在問如何製作一部獨立電影 – smilingbuddha