Matlab 制作动画.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
涉及的主要问题 一般步骤 使用的主要函数及功能 示例程序及运行结果 存在的问题 一般步骤: 确定动画的帧数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格式的电影文件 创建电影剪辑文件,并存储起来: 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格式的电影文件 直接利用函数movie2avi movie2avi(mov,’filename.avi’) mov由getframe获得,生成文件名为filename.avi的视频文件 一般格式: for i=1:n figure(i) F(i)=getframe; end; movie2avi(F,...filename.avi) 保存动画-直接保存gif动画 一般步骤: m(:,k)=getframe; %%%构造gif图像的帧, nn(:,:,:)=getframe; %%转换为可以直接输出的格式 %如果要制作彩色的图像,你只能把生成的彩色图像单独制作(使用其他软件) nn1=nn.cdata; nn1=rgb2gray(nn1); imwrite(nn1,out.gif,gif,WriteMode,append) 画sinx,cosx图形 二维动画 三维动画 画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 三维动画 [x,y,z]=peaks(30); %peaks产生一个凹凸有致的曲面 surf(x,y,z) %用X和Y定义x-y坐标网格,Z定义网格上每一点的高度,来生成三维曲面 axis([-3 3 -3 3 -10 10])

文档评论(0)

ww90055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档