已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Matlab 制作动画,2,涉及的主要问题,一般步骤 使用的主要函数及功能 示例程序及运行结果 存在的问题,3,一般步骤:,确定动画的帧数nframes 画出图形 为nframes帧幅图形分配足够内存空间 用getframe生成动画的数据矩阵 以每秒n幅的速度播放动画,4,函数及功能,M=moviein(nframes) 为nframes帧幅图分配足够内存空间 movie(n) 以每秒n幅的速度播放动画 getframe 对当前的图象进行快照,截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量 meshgrid:用于产生x-y平面上的网格数据 mesh:绘制网面图,5,函数及功能,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,6,保存动画生成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);%关闭文件,结束数值仿真模拟过程。,7,保存动画生成avi格式的电影文件,直接利用函数movie2avi movie2avi(mov,filename.avi) mov由getframe获得,生成文件名为filename.avi的视频文件 一般格式: for i=1:n figure(i) F(i)=getframe; end; movie2avi(F,.filename.avi),8,保存动画直接保存gif动画,一般步骤: m(:,k)=getframe; %构造gif图像的帧, nn(:,:,:)=getframe; %转换为可以直接输出的格式 %如果要制作彩色的图像,你只能把生成的彩色图像单独制作(使用其他软件) nn1=nn.cdata; nn1=rgb2gray(nn1); imwrite(nn1,out.gif,gif,WriteMode,append),9,画sinx,cosx图形 二维动画 三维动画,10,画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,11,播放动画,二维动画 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,12,保存动画的示例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),13,保存动画的示例2,function 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);,14,其它转换gif动画的方法,直接作gif动画的软件较多,比如Ulead GIF Animator,批量格式转换用XnView,15,其它动画示例程序,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),16,其它动画示例程序,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); im
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 控制系统-施工方案(3篇)
- 木结构桥施工方案(3篇)
- 楼房初期火灾应急预案(3篇)
- 水饺餐饮活动策划方案(3篇)
- 湿法脱硫系统应急预案(3篇)
- 现浇拱形桥施工方案(3篇)
- 监控报警联动施工方案(3篇)
- 私密瑜伽活动方案策划(3篇)
- 耳机营销活动策划方案(3篇)
- 营销人员年度述职方案(3篇)
- 国有林场(苗圃)财务制度
- 3.1+DNA的粗提取与鉴定实验创新及拓展高二下学期生物学人教版选择性必修3
- 中国法律史-第一次平时作业-国开-参考资料
- 国家基本药物目录2018年版
- 高中物理选择性必修1教材习题答案
- 《微生物病原体课件》
- 苍溪县九龙山气田应急抢险道路改造工程(喻家嘴至太阳湾段)环境影响报告
- GB/T 13017-2018企业标准体系表编制指南
- 江影视快乐5台推荐ppt
- 短肠综合征-最新课件
- 屋面花架专项施工方案
评论
0/150
提交评论