首页 Matlab_制作动画

Matlab_制作动画

举报
开通vip

Matlab_制作动画nullMatlab 制作动画Matlab 制作动画涉及的主要问题涉及的主要问题一般步骤 使用的主要函数及功能 示例程序及运行结果 存在的问题一般步骤:一般步骤:确定动画的帧数nframes 画出图形 为nframes帧幅图形分配足够内存空间 用getframe生成动画的数据矩阵 以每秒n幅的速度播放动画 函数及功能 函数及功能 M=moviein(nframes) 为nframes帧幅图分配足够内存空间 movie(n) 以每秒n幅的速度播放动画 getframe 对当前的图象进行快照,截取一幅画面信息(...

Matlab_制作动画
nullMatlab 制作动画Matlab 制作动画涉及的主要问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 涉及的主要问题一般步骤 使用的主要函数及功能 示例程序及运行结果 存在的问题一般步骤:一般步骤:确定动画的帧数nframes 画出图形 为nframes帧幅图形分配足够内存空间 用getframe生成动画的数据矩阵 以每秒n幅的速度播放动画 函数及功能 函数及功能 M=moviein(nframes) 为nframes帧幅图分配足够内存空间 movie(n) 以每秒n幅的速度播放动画 getframe 对当前的图象进行快照,截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量 meshgrid:用于产生x-y平面上的网格数据 mesh:绘制网面图 函数及功能函数及功能imwrite():将数据转换成图像文件 surf:画立体曲面图 peaks:生成一个凹凸有致的曲面 figure:创建一个数字图形图像 aviobj = avifile(filename,'PropertyName',value,...) AVIFILE returns a handle to an AVI file object, aviobj. mov = aviread(filename,index) reads the AVI movie filename into the MATLAB movie structure mov 保存动画-生成avi格式的电影文件保存动画-生成avi格式的电影文件创建电影剪辑文件,并存储起来: 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);%关闭文件,结束数值仿真模拟过程。 保存动画-生成avi格式的电影文件保存动画-生成avi格式的电影文件直接利用函数movie2avi movie2avi(mov,’filename.avi’) mov由getframe获得,生成文件名为filename.avi的视频文件 一般格式: for i=1:n figure(i) F(i)=getframe; end; movie2avi(F,'...filename.avi') 保存动画-直接保存gif动画保存动画-直接保存gif动画一般步骤: m(:,k)=getframe; %%%构造gif图像的帧, nn(:,:,:)=getframe; %%转换为可以直接输出的格式 %如果要制作彩色的图像,你只能把生成的彩色图像单独制作(使用其他软件) nn1=nn.cdata; nn1=rgb2gray(nn1); imwrite(nn1,'out.gif','gif','WriteMode','append') null画sinx,cosx图形 二维动画 三维动画null画sinx,cosx图形 x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x)) 二维动画 x = -pi:pi/30:pi; h = plot(x,cos(x),'o','MarkerEdgeColor','k','MarkerFaceColor','r','MarkerSize',8,'EraseMode','Xor') for j = 1:3000 y = sin(3*x+0.006*j); set(h,'ydata',y); drawnow; end 播放动画播放动画二维动画 s =0.2; x1=0; % 确定起始点横坐标x1及其增量 nframes = 50; % 确定动画总帧数 for k = 1:nframes x1= x1+s; % 确定画图时横坐标终止值x1 x =0:0.01:x1; y =sin(x); plot(x,y); % 在x=[0 x1]作y=sin(x)曲线 axis([0 2*pi -1 1]) % 定义坐标轴范围 grid off % 不显示网格线 M(k) = getframe; % 将当前图形存入矩阵M(k) end movie(M,3) % 重复3次播放动画M 保存动画的示例1保存动画的示例1三维动画 [x,y,z]=peaks(30); %peaks产生一个凹凸有致的曲面 surf(x,y,z) %用X和Y定义x-y坐标网格,Z定义网格上每一点的高度,来生成三维曲面 axis([-3 3 -3 3 -10 10]) m=moviein(15); for i=1:15 view(-37.5+24*(i-1),30) m(:,i)=getframe; end movie(m) movie2avi(m,’out.avi’) 保存动画的示例2保存动画的示例2function avimake warning off; load data //data是已有的文件 [M,N,K]=size(data); data=data/(max(abs(data(:)))); aviobj = avifile('mymovie.avi','fps',10); for kk=1:10:K imagesc(data(:,:,kk)); set(gca,'clim',[-1 1]); colormap(hsv(128)) frame = getframe(gca); aviobj = addframe(aviobj,frame); end aviobj = close(aviobj);其它转换gif动画的方法其它转换gif动画的方法直接作gif动画的软件较多,比如Ulead GIF Animator,批量格式转换用XnView 其它动画示例程序其它动画示例程序Z = peaks; surf(Z) axis tight set(gca,'nextplot','replacechildren'); for j = 1:50 surf(sin(2*pi*j/20)*Z,Z) F(j) = getframe; end movie(F,20) 其它动画示例程序其它动画示例程序clear;clc; [x,y]=meshgrid(-8:.1:8); for j=1:20 f=@(x,y)(sin(sqrt((11-j)*(x.^2+y.^2)))./sqrt((11-j)*(x.^2+y.^2)+eps)); z=f(x,y); surf(x,y,z);shading interp; M(j) = getframe; if j==1 [I,map]=rgb2ind(M(j).cdata,256); imwrite(I,map,'out.gif','DelayTime',.1) else imwrite(rgb2ind(M(j).cdata,map),map,'out.gif','WriteMode','append','DelayTime',.1) end end movie2avi(M,'out.avi')
本文档为【Matlab_制作动画】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_404630
暂无简介~
格式:ppt
大小:57KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-10-21
浏览量:33