用matlab存储数据并放映动画
两个例子:
(1)播放不断变化的眼球
m=moviein(20); %建立一个由20个列向量组成的矩阵
for j=1:20
plot(fft(eye(j+10))) % 绘制出每一幅眼球图并保存到m的矩阵中
m(:,j)=getframe;
end
movie(m,10); %以每秒10幅的帧率播放画面
(2)播放直径不断变化的球体
n=30;
[x,y,z]=sphere; %得到单位球面的数据
m=moviein(n);
for j=1:n
surf(i*x,i*j,i*z) %绘制半径为 i 的球面
m(:,j)=getframe;
end
movie(m,30);
getframe函数:它将当前图形窗口作为一个画面取下并保存。他将每一帧画面信息数据截取下来整理成列向
量。数据向量的大小受图形窗口的大小影响较大(窗口越大,数据量越大),而图形的复杂性与数据容
量没有直接关系。
moviein(n): 用来建立一个n列得足够大的矩阵m(它的具体大小由后面的图决定),用来保存画面的数据,
以备 movie 播放。
movie(m,n):以每秒n幅图行的速度播放由矩阵m的列向量所组成的画面。