matlab绘制动画

举报
kobesdu 发表于 2022/02/18 10:11:00 2022/02/18
【摘要】 所用的函数说明1.getframe函数getframe函数可截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量。显然,保存n幅图面就需一个大矩阵。F = getframe捕获当前轴作为电影帧出现在屏幕上。 F是包含图像数据的结构。 getframe捕获的轴尺寸与屏幕上显示的尺寸相同。 它不会捕获刻度标签或轴轮廓之外的其他内容。2.moviein函数moviein(n)函数...

所用的函数说明

1.getframe函数

getframe函数可截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量。显然,保存n幅图面就需一个大矩阵。

F = getframe捕获当前轴作为电影帧出现在屏幕上。 F是包含图像数据的结构。 getframe捕获的轴尺寸与屏幕上显示的尺寸相同。 它不会捕获刻度标签或轴轮廓之外的其他内容。

2.moviein函数

moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。之所以要事先建立一个大矩阵,是为了提高程序运行速度。

3.movie函数

movie(m,n)函数播放由矩阵m所定义的画面n次,缺省时播放一次。

调用movie函数按照指定的速度和次数运行该电影动画。

当创建了一系列的动画帧后,可以利用movie函数播放这些动画帧。
该函数的主要格式有:
(1)movie(M),将矩阵M中的动画帧播放一次

(2)movie(M,n),将矩阵M中的动画帧播放n

(3)movie(M,n,fps),将矩阵M中的动画帧以每秒fps帧的速度播放n

程序实例

下面的程序绘制了peaks函数曲面并且将它绕z轴旋转。

Z = peaks;

surf(Z)

%绘制网格表面图

axis tight % axistight是使坐标系的最大值和最小值和你的数据范围一致

set(gca,'nextplot','replacechildren');

%设定axis覆盖重画模式前一个是属性,后一个值,一般设置属性值都是这个形式的。针对axes对象时,replacechildren的含义为:在当前设置下清清除所有子对象。

title '帧动画播放示例'

for j = 1:20

surf(sin(2pij/20)*Z,Z)

%重新绘制网格表面图

F(j) = getframe;

%创建帧

end

movie(F,20)

% 播放动画20次

 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。