matlab绘制动画
【摘要】 所用的函数说明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)