用matlab制作简单仿真动画
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用matlab制作简单仿真动画,并生成.avi格式的电影文件
MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅
第一种形式:利用for循环,在一定时间内控制图形窗口图像的显示,产生一段动态的演示过程:
如下:
set(gcf,'color','green');
grid on;
set(gca,'zlim',[-10,10]');
set(gca,'xlim',[-10,10]);
set(gca,'ylim',[-10,10]);
for i=1:10
set(gca,'view',[-i*3.75,3*i] );
pause(0.2);
end
第二种形式:利用moviein和movie函数,现将生成的动画存入一个由movien
函数定义的数组中,每一帧为数组的一个元素,最后用movie重复演示,movie后面的数字代表演示次数。
x=[-30:0.2:30];
y=[-30:0.2:30];
[x,y]=meshgrid(x,y);
n=5;
M = moviein(n);
for i=1:n
z=sin(sqrt(2*(x).^2+2*(y).^2)-2*pi*i/10);
zz=plot3(x,y,z,'parent',gca);
mesh(x,y,z);
grid on;
colormap([0,0.9,0.5]);
light('position',[1,1,2],'style','local','color','white');
material([0.5,0.4,0.3,10,0.3]);
set(gca,'zlim',[-10,10]');
M(i)=getframe(gca);
end
movie(M,20)
创建电影剪辑文件,并存储起来,如下:
aviobj=avifile('文件名.avi','fps',3);%定义一个avi文件,
%AVIOBJ = AVIFILE(FILENAME,'PropertyName',VALUE,'PropertyName',VALUE,...)
%各属性详细说明见matlab帮助
for i=1:n
%在当前窗体上生成一帧图像
frame=getframe(gca); %获得一帧图像
aviobj=addframe(aviobj,frame);%并加到电影剪辑文件中
end
aviobj=close(aviobj);%关闭文件,结束数值仿真模拟过程。
用matlab制作简单仿真动画,并生成.avi格式的电影文件MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅
第一种形式:利用for循环,在一定时间内控制图形窗口图像的显示,产生一段动态的演示过程:
如下:
set(gcf,'color','green');
grid on;
set(gca,'zlim',[-10,10]');
set(gca,'xlim',[-10,10]);
set(gca,'ylim',[-10,10]);
for i=1:10
set(gca,'view',[-i*3.75,3*i] );
pause(0.2);
end
第二种形式:利用moviein和movie函数,现将生成的动画存入一个由movien
函数定义的数组中,每一帧为数组的一个元素,最后用movie重复演示,movie后面的数字代表演示次数。
x=[-30:0.2:30];
y=[-30:0.2:30];
[x,y]=meshgrid(x,y);
n=5;
M = moviein(n);
for i=1:n
z=sin(sqrt(2*(x).^2+2*(y).^2)-2*pi*i/10);
zz=plot3(x,y,z,'parent',gca);
mesh(x,y,z);
grid on;
colormap([0,0.9,0.5]);
light('position',[1,1,2],'style','local','color','white');
material([0.5,0.4,0.3,10,0.3]);
set(gca,'zlim',[-10,10]');
M(i)=getframe(gca);
end
movie(M,20)
创建电影剪辑文件,并存储起来,如下:
aviobj=avifile('文件名.avi','fps',3);%定义一个avi文件,
%AVIOBJ = AVIFILE(FILENAME,'PropertyName',VALUE,'PropertyName',VALUE,...) %各属性详细说明见matlab帮助
for i=1:n
%在当前窗体上生成一帧图像
frame=getframe(gca); %获得一帧图像
aviobj=addframe(aviobj,frame);%并加到电影剪辑文件中
end
aviobj=close(aviobj);%关闭文件,结束数值仿真模拟过程。