用matlab制作简单仿真动画

合集下载

MATLAB2015b动画制作

MATLAB2015b动画制作
7
t=t-dt; if w<=1 w=dw+w; else w=-1; end y=(-w*w)/2+0.5; addpoints(head,t,y); drawnow; end 图 5-5 是例 5-5 中的程序生成的动画中的一帧。
图 5-5 小球正在台阶上蹦
5.2.2 以电影播放方式生成动画
此方法就是先保存动画过程中的很多图片,再像放电影一样把它们按次序播放出来。 这种操作的步骤是先用 getframe 函数将当前的图片抓取作为电影的画面后,再用 movie 函数一次将动画放映出来。 此外 movie 函数还可以指定播放次数, 如 movie(M,3) 表示重复播放 M 中存储的动画 3 次。 【例 5-6】建立一个绕 z 轴旋转的 peaks 动画,代码如下: [x,y,z]=peaks(30);
2
第5章
MATLAB 动画制作
图 5-2 彗星绕地球运动轨迹图
5.1.2 旋转调色板
MATLAB 提供了一个动态变化颜色的函数 spinmap。它的功能是使当前图形的 RGB 值产生固定的增量,做循环变化,用于产生动画效果。与前面的彗星图不同,该函数 不涉及对图形特征的操作,而只限于对调色板进行旋转。spinmap 的语法格式如下: 1. spinmap %使用增量值 2 循环旋转调色板约五秒。 2. spinmap(t) %旋转调色板大约 10×t 秒。 3. spinmap(t,inc)%旋转调色板大约 10×t 秒并且指定调色板变化的增量。 4. spinmap('inf')%使调色板无限的旋转下去,按 Ctrl+C 可以终止此循环。 【例 5-3】生成一个变色球体,代码如下: sphere(30) axis equal spinmap 动态图形结束后如图 5-3 所示。

matlab动画制作

matlab动画制作
性。
MATL AB动画 在数据可视化 方面具有高效、 灵活和可定制 的优点,广泛 应用于科研、 工程和商业领
域。
交互式动画设计
介绍交互式动画的概念和特点 展示MATL AB中实现交互式动画的几种方法 介绍一个交互式动画设计的实例,包括设计思路、实现过程和效果展示 总结交互式动画在数据可视化、教学演示等领域的应用前景和优势
MATLAB动画基础
动画的基本概念
动画定义:通过连续播放一系列画面,产生动态效果的艺术表现形式。 动画原理:利用人眼的视觉暂留效应,快速播放一系列静止的画面,使画 面看起来像是连续运动的。 动画分类:二维动画、三维动画、定格动画等。
动画制作流程:故事构思、角色设计、场景绘制、动画制作、后期合成等。
动画分享和交流
导出动画为视频格式,方便分享和传播 使用MATLAB内置的发布工具,将动画发布到网上或共享给他人 在专业论坛或社区分享动画制作经验和技术,促进交流和学习 参加技术交流活动,展示自己的动画作品,与同行交流心得和技巧
感谢观看
汇报人:XX
单击此处添加副标题
MATLAB动画制作
汇报人:XX
目录
01 02 03 04 05
添加目录项标题 M AT L A B 动 画 基 础 M AT L A B 动 画 制 作 技 巧 M AT L A B 动 画 应 用 实 例 M AT L A B 动 画 优 化 和 发 布
01
添加目录项标题
02
单击此处添加标题
MATL AB还支持与其他软件的集成,如Adobe Af ter Effects等,可以方便 地将动画导出到其他平台进行展示
动画的基本原理
帧率:每秒播放的帧数,影 响动画的流畅度
帧的概念:动画由连续的帧 组成,每帧都是静态图像

MATLAB入门简单动画制作ppt课件

MATLAB入门简单动画制作ppt课件

t=linspace(0, 2*pi, 50);
% 圆盘的极坐标角度
[rr, tt]=meshgrid(r, t);
xx=rr.*cos(tt);
% 产生圆盘上的 x 坐标
yy=rr.*sin(tt);
% 产生圆盘上的 y 坐标
zz=peaks(xx,yy);
% 产生 peaks 在极坐标的数据
n = 30;
另外,movie(M, -5) 代表电影将播放 5 次,但由 于第二个参数是负数,所以每次播放会包含一次 「正向播放」及一次「逆向播放」。
10
MATLAB 程式設計入門篇:動畫製作
电影动画之范例三
正片
色盘矩阵是 map
负片
色盘矩阵是 1-map
11
MATLAB 程式設計入門篇:動畫製作
电影动画之范例一
最后一个 frame 的画面
6
MATLAB 程式設計入門篇:動畫製作
电影动画之范例二
将 peaks 函数画在圆盘上,然后再变换此函数的 高度,以动画呈现
范例6-2: movie02.m
clear M
% 清除电影资料矩阵 M
r=linspห้องสมุดไป่ตู้ce(0, 4, 30);
% 圆盘的半径
% 抓取 30 个画面
scale = cos(linspace(0, 2*pi, n));
fprintf('抓取画面中...\n');
for i = 1:n
surf(xx, yy, zz*scale(i));
% 画图
axis([-inf inf -inf inf -8.5 8.5]);
% 固定图轴的范围

MATLAB入门之动画制作

MATLAB入门之动画制作
動畫製作電影動畫之範例三?在上述範例中正片如下張投影片圖左的色盤矩陣是map而1map則是負片如下張投影片圖右的色盤矩陣因此我們在抓影片時讓色盤矩陣進行漸進式的變化因此呈現的電影就有從片變到負片就有從正片變到負片的效果
MATLAB 程式設計入門篇 動畫製作
張智星 清大資工系 補充內容:方煒 台大生機系
MATLAB 程式設計入門篇:動畫製作
曲線的動畫
我們可以快速地改變圖形物件的性質(如顏 色、座標等),就可以達到動畫的效果 每一條曲線都有下列三種性質:
xdata:此為一向量,代表曲線的 x 座標值 ydata:此為一向量,代表曲線的 y 座標值 EraseMode:此為一字串,代表曲線被抹除的方 式,亦即當 xdata 或 ydata 被改變時,對於舊曲 線的處理方式。
MATLAB 程式設計入門篇:動畫製作
• •

6-1 MATLAB 動畫簡介 6-2 以電影方式產生動畫 (a).電影動畫之範例一 (b).電影動畫之範例二 (c).電影動畫之範例三 6-3以物件方式產生動畫 (a).曲線的動畫 (b).曲線的 EraseMode (c).物件動畫之範例
MATLAB 程式設計入門篇:動畫製作

x 5
MATLAB 程式設計入門篇:動畫製作
物件動畫之範例一
我們產生一條衰減的正弦曲線 y = sin( x + k )e 讓 k 隨時間而便大(即改變正弦波的相角),使 整條曲線產生舞動的效果。 範例6-1: movie04.m
x = 0:0.1:8*pi; h = plot(x, sin(x).*exp(-x/5), 'EraseMode', 'xor'); axis([-inf inf -1 1]); grid on for i = 1:5000 y = sin(x+i/50).*exp(-x/5); set(h, 'ydata', y); drawnow end % 設定新的 y 座標 % 立即作圖 % 設定圖軸的範圍 % 畫出格線

MATLAB中的动画设计

MATLAB中的动画设计
MATLAB中的动画设计
1
质点动画
2
电影动画
3
擦除动画
MATLAB中的动画设计——质点动画
1、质点动画
• 产生一个顺着曲线轨迹运动的质点来操作 • 使用comet、comet3函数 • 最简单的动画产生方式
MATLAB中的动画设计——质点动画
设计步骤 • step1:求解出质点完整的运动轨迹坐标x,y和z • step2:使用comet或者comet3直动画
【例2】质点绕螺旋轨迹运动
%使用函数comet3建立质点绕圆运动的动画 clear t=0:pi/500:10*pi; plot3(sin(t),cos(t),t) axis square; %hold on; comet3(sin(t),cos(t),t,0.5)
MATLAB中的动画设计——电影动画
2、电影动画
• 从不同的视角拍下一系列对象的图形,并保存到变量中,然 后按照一定的顺序像电影一样播放。
• 使用getframe、movie函数。
getframe函数可以捕捉动画帧,并保存到矩阵中。该函数的主要格式有: (1)F=gefframe,从当前图形框中得到动画帧 (2)F=gefframe(h),从图形句柄h中得到动画帧 (3)F=getframe(h,rect),从图形句柄h的指定区域rec中得到动画帧
程序结构
MATLAB中的动画设计——电影动画
【例5】绕Z轴旋转的peak动画
%绕Z轴旋转的Peak动画 [X,Y,Z]=peaks(30); surf(X,Y,Z); set(gca,'visible','off'); colormap(hot) shading interp %记录电影 for i=1:15

在MATLAB中实现动画效果【免费】

在MATLAB中实现动画效果【免费】
2 在 MATLAB 中实现程序动画
常见的动画都是将离散的静态图形连续播放或快速变化并
利 用 人 眼 的 视 觉 暂 留 性 来 造 成 一 种 的 感 官 上 的 连 续 动 态 效 果 。市 面上流行甚广的 FLASH 等动画制作 软 件 , 都 是 基 于 这 一 原 理 , 将 现成图形图像进行处理和变化来制作动画的。而 MATLAB 是基于 矩阵运算的工程科学计算软件, 它不能简单的依靠图形图像的可 视化编辑来制作动画, 而是将矩阵、逻辑、函数等 底 层 元 素 的 变 化 通过图形外现来达到动画效果。
Key words :MATLAB;animationg;flash;movie
1 引言
MATLAB自 1984 年由美国 MathWorks 公司推向市场以来, 历 经十几年的发展, 现已成为国际公认的最优秀的科技应用软件。 然而, 现在我们所见的各类 MATLAB 图书、刊物以及网站中, 多偏 重于 MATLAB 科学计算方面的研究和介绍, 对于动画制作方面的 内容却涉及很少。但是, 我们在 MATLAB 的实际应用过程中有时 不可避免的需要用到动画, 这就给我们的应用带来诸多不便。为 解决这一矛盾, 笔者曾做过一些探索, 总结了一些经验, 掌握了一 些方法, 在此与大家共享。
色变为背景颜色, 实现擦除, 这种模式将损坏被擦除对象下面的
对象, 但新对象会正确着色; (3“) none”, 不做任何擦除; (4“) xor”, 只
画与屏幕颜色不一致的新对象点, 只擦除与屏幕颜色不一致的原
对象点, 该方式不损坏被擦除对象下面的对象。
我 们 用 line 函 数 绘 出 运 动 点 ,
的计算结果为: WI =1.0e+003 * Columns 1 through 10 8.4179 3.5857 2.0209 1.2417 0.8560 0.6050 0.4614

基于Matlab Simulink的小球弹跳仿真及动画实现

基于Matlab Simulink的小球弹跳仿真及动画实现

实现了可视化建模 . wn o s 在 id w 环境下 。 用户通过简单的鼠标 操作
就 可建 立 起 直观 的系 统模 型 。 进 行 仿 真 ; 现 了多 工 作 环 境 问 文 并 实 件互 用 和 数据 交换 . Sm l k与 Ma a ,i l k与 F ra 、 如 iui n l f bSmui n ot n C和 r
转换 后 如 图 1 示 。 所
图 3 积 分 模 块 属 性 设 王 对 话 框

22编 辑模 块 .
首 先 对 各 个模 块 名 进行 编辑 。 进 行 各 个 模 块 的 属 性 设 定 。 再 其
中 主要 模 块 属 性 如 图 2 图 3所 示 。 ,
最 后 用 仿 真 信 号线 将 各 个模 块 连 接 起 来 , 图 4所 示 。 如
a p e ,I h r l si h o mi a l n t n a d t e s l p rt n p h s t c am e t ef r d b e f c i n h i e o e a o ,Th s a e O s o S mui k t h ATL s i n u o mp i i p p ri t h w i l o t e M s n AB f n d n e p n i n u c o x a s o
Ab t c :i l ka ed e a n f h s wiepe dsf r ak g si ed n mi ytm d l ga d tes l inap c sr t mui l ay b c meo eo emo t d sra ot ep c ae t y a css a S n r t wa nh e mo ei n i a o se t n h mu t

MATLAB动画演示效果

MATLAB动画演示效果

MATLAB动画演示效果一%曲柄滑块机构hf=figure('name','曲柄滑块机构');set(hf,'color','g');hold onaxis([-6,6,-4,4]);grid onaxis('off');xa0=-5;%活塞左顶点坐标xa1=-2.5;%活塞右顶点坐标xb0=-2.5;%连杆左顶点坐标xb1=2.2;%连杆右顶点坐标x3=3.5;%转轮坐标y3=0;%转轮坐标x4=xb1;%设置连杆头的初始位置横坐标y4=0;%设置连杆头的初始位置纵坐标x5=xa1;y5=0;x6=x3;%设置连轴初始横坐标y6=0;%设置连轴初始纵坐标a=0.7;b=0.7c=0.7a1=line([xa0;xa1],[0;0],'color','b','linestyle','-','linewidth',40); %设置活塞a3=line(x3,y3,'color',[0.5 0.6 0.3],'linestyle','.','markersize',300);%设置转轮a2=line([xb0;xb1],[0;0],'color','black','linewidth',10);%设置连杆a5=line(x5,y5,'color','black','linestyle','.','markersize',40);%设置连杆活塞连接头a4=line(x4,y4,'color','black','linestyle','.','markersize',50);%设置连杆连接头a6=line([xb1;x3],[0;0],'color','black','linestyle','-','linewidth',10);a7=line(x3,0,'color','black','linestyle','.','markersize',50);%设置运动中心a8=line([-5.1;-0.2],[0.7;0.7],'color','y','linestyle','-','linewidth',5);%设置汽缸壁a9=line([-5.1;-0.2],[-0.72;-0.72],'color','y','linestyle','-','linewidth',5);%设置汽缸壁a10=line([-5.1;-5.1],[-0.8;0.75],'color','y','linestyle','-','linewidth',5);%设置汽缸壁a11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61],[a,b,c]);%设置汽缸气体len1=4.8;%连杆长len2=2.5;%活塞长r=1.3;%运动半径dt=0.015*pi;t=0;while 1t=t+dt;if t>2*pit=0;endlena1=sqrt((len1)^2-(r*sin(t))^2);%连杆在运动过程中横轴上的有效长度rr1=r*cos(t);%半径在运动过程中横轴上的有效长度xaa1=x3-sqrt(len1^2-(sin(t)*r)^2)-(r*cos(t));%活塞在运动过程中的右顶点坐标位置xaa0=xaa1-2.5;%%活塞在运动过程中的左顶点坐标位置x55=x3-cos(t)*r;%连杆在运动过程中横坐标位置y55=y3-sin(t)*r;%连杆在运动过程中纵坐标位置set(a4,'xdata',x55,'ydata',y55);%设置连杆顶点运动set(a1,'xdata',[xaa1-2.5;xaa1],'ydata',[0;0]);%设置活塞运动set(a2,'xdata',[xaa1;x55],'ydata',[0;y55]);set(a5,'xdata',xaa1);%设置活塞与连杆连接头的运动set(a6,'xdata',[x55;x3],'ydata',[y55;0]);set(a11,'xdata',[-5,xaa0,xaa0,-5]);%设置气体的填充set(gcf,'doublebuffer','on');%消除震动drawnow;end文献出处:/blog/static/13485835420091124584320/MATLAB动画效果演示二MATLAB 2009-12-24 17:15:48 阅读135 评论0 字号:大中小订阅%理想弹簧阵子简谐运动%Clearrectangle('position',[12,8.5,2,0.3],'FaceColor',[0.5,0.3,0.4]);axis([0,15,-1,10]);%画顶板hold onplot([13,13],[7,8.5],'r','linewidth',2);%画直线y=2:.2:7;M=length(y);x=12+mod(1:M,2)*2;x(1)=13;x(end-3:end)=13;D=plot(x,y);%弹簧C=0:.1:2*pi;r=0.35;t1=r*sin(C);F1=fill(13+r*cos(C),2+t1,'r');% 球set(gca,'ytick',[0:2:9]);set(gca,'yticklabels',num2str([-1:3]'));plot([0,15],[3.3,3.3],'black');H1=plot([0,13],[3.3,3.3],'y');% 句柄[黄线]Q=plot(0,3.8,'color','r');% 运动曲线;td=[];yd=[];T=0;text(2,9,'理想中的弹簧振子简谐振动','fontsize',16);set(gcf,'doublebuffer','on');while T<12;pause(0.2);Dy=(3/2-1/2*sin(pi*T))*1/2;Y=-(y-2)*Dy+7;Yf=Y(end)+t1;td=[td,T];yd=[yd,Y(end)];set(D,'ydata',Y);set(F1,'ydata',Yf,'facecolor',rand(1,3));set(H1,'xdata',[T,13],'ydata',[Y(end),Y(end)]);set(Q,'xdata',td,'ydata',yd) ;T=T+0.1;end文献出处:/blog/static/1348583542009112451548632/%台球完全碰撞模拟示例axis([-1.6,12.6,-1.6,10.7])%确定坐标轴参数范围hold on %保持当前图形及轴系的所有特性fill([-2,13,13,-2],[-2,-2,11,11],[0,1,0]);%填充底座背景fill([-1,12,12,-1],[-1,-1,10,10],[0,0.5,0]);%填充底座背景ball1=line(0,5,'color','r','marker','.','erasemode','xor','markersize',60);%设置小球颜色,大小,线条的擦拭方式ball2=line(8,9,'color','g','marker','.','erasemode','xor','markersize',60);%设置小球颜色,大小,线条的擦拭方式ball3=line(-1,-1,'color','g','marker','.','erasemode','xor','markersize',80);%设置左下角圆的颜色,大小,线条的擦拭方式ball4=line(12,-1,'color','g','marker','.','erasemode','xor','markersize',80);%设置右下角圆的颜色,大小,线条的擦拭方式ball3=line(-1,10,'color','g','marker','.','erasemode','xor','markersize',80);%设置左上角圆的颜色,大小,线条的擦拭方式ball4=line(12,10,'color','g','marker','.','erasemode','xor','markersize',80);%设置右上角圆的颜色,大小,线条的擦拭方式title('完全非弹碰在模拟台球比赛的应用', 'color','r','fontsize',15);%图形标题pause(1)%设定暂停时间的长度t=0;dt=0.005;%设制初始数值while t<7.2%设定横轴范围t=t+dt;%设制横轴计算公式y=1/2*t+5;%设制纵轴计算公式set(ball1,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end %结束while t<8.8%设定横轴范围t=t+dt;%设制横轴计算公式y=1/2*t+5;%设制纵轴计算公式set(ball2,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end %结束while t<11.5%设定横轴范围t=t+dt;%设制横轴计算公式y=-1/2*t+14.3;%设制纵轴计算公式set(ball2,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end%结束while t>-0.5%设制横轴范围t=t-dt;%设制横轴计算公式y=1/2*t+2.90;%设制纵轴计算公式set(ball2,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end%结束while t<6%设制横轴范围t=t+dt;%设制横轴计算公式y=-1/2*t+2.40;%设制纵轴计算公式set(ball2,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end%结束while t<11.5%设制横轴范围t=t+dt;%设制横轴计算公式y=1/2*t-3.0;%设制纵轴计算公式set(ball2,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end%结束while t>-2%设制横轴范围t=t-dt;%设制横轴计算公式y=-t*7.65/12.9+9.57;%设制纵轴计算公式set(ball2,'xdata',t,'ydata',y)%设制球的运动drawnow;%刷新屏幕end%结束text(2,5,'好!进球了啊!!!恭喜!','fontsize',16,'color','r'); %显示字幕的颜色和大小文献出处:/blog/static/134858354200911245185379/MATLAB动画效果演示四MATLAB 2009-12-24 17:22:18 阅读50 评论2 字号:大中小订阅%能量守恒验证示例fill([6,7,7,6],[5,5,0,0],[0,0.5,0]);%右边竖条的填充hold on; %保持当前图形及轴系的所有特性fill([2,6,6,2],[3,3,0,0],[0,0.5,0]);%左边竖条的填充hold on;% 保持当前图形及轴系的所有特性t1=0:pi/60:pi;plot(4-2*sin(t1-pi/2),5-2*cos(t1-pi/2));%绘制中间的凹弧图形grid;%添加网格线axis([0,9,0,9]);%定义坐标轴的比例%axis('off');%关闭所有轴标注,标记,背景fill([1,2,2,1],[5,5,0,0],[0,0.5,0]);%中间长方形的填充hold on;% 保持当前图形及轴系的所有特性title('31608118');%定义图题x0=6;y0=5;head1=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',30);head2=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',50); %设置小球颜色,大小,线条的擦拭方式t=0;%设置小球的初始值dt=0.001;%设置运动周期t1=0;%设置大球的初始值dt1=0.001;while 1%条件表达式t=t+dt;x1=9-1*t;y1=5;x3=6;y3=5;if t>0x2=6;y2=5;%设置小球的运动轨迹endif t>2.8t=t+dt;a=sin(t-3);x1=6.1;y1=5.1;x3=4-2*sin(1.5*a);y3=5-2*cos(1.5*a);%设置大球的运动轨迹endset(head1,'xdata',x1,'ydata',y1);%设置球的运动set(head2,'xdata',x3,'ydata',y3);drawnow;end文献出处:/blog/static/1348583542009112452218157/。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用matlab制作简单仿真动画,并生成.avi格式的电影文件
MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅
第一种形式:利用for循环,在一定时间内控制图形窗口图像的显示,产生一段动态的演示过程:
如下:
set(gcf,'color','green');
grid on;
set(gca,'zlim',[-10,10]');
set(gca,'xlim',[-10,10]);
set(gca,'ylim',[-10,10]);
for i=1:10
set(gca,'view',[-i*3.75,3*i] );
pause(0.2);
end
第二种形式:利用moviein和movie函数,现将生成的动画存入一个由movien
函数定义的数组中,每一帧为数组的一个元素,最后用movie重复演示,movie后面的数字代表演示次数。

x=[-30:0.2:30];
y=[-30:0.2:30];
[x,y]=meshgrid(x,y);
n=5;
M = moviein(n);
for i=1:n
z=sin(sqrt(2*(x).^2+2*(y).^2)-2*pi*i/10);
zz=plot3(x,y,z,'parent',gca);
mesh(x,y,z);
grid on;
colormap([0,0.9,0.5]);
light('position',[1,1,2],'style','local','color','white');
material([0.5,0.4,0.3,10,0.3]);
set(gca,'zlim',[-10,10]');
M(i)=getframe(gca);
end
movie(M,20)
创建电影剪辑文件,并存储起来,如下:
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);%关闭文件,结束数值仿真模拟过程。

用matlab制作简单仿真动画,并生成.avi格式的电影文件MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅
第一种形式:利用for循环,在一定时间内控制图形窗口图像的显示,产生一段动态的演示过程:
如下:
set(gcf,'color','green');
grid on;
set(gca,'zlim',[-10,10]');
set(gca,'xlim',[-10,10]);
set(gca,'ylim',[-10,10]);
for i=1:10
set(gca,'view',[-i*3.75,3*i] );
pause(0.2);
end
第二种形式:利用moviein和movie函数,现将生成的动画存入一个由movien
函数定义的数组中,每一帧为数组的一个元素,最后用movie重复演示,movie后面的数字代表演示次数。

x=[-30:0.2:30];
y=[-30:0.2:30];
[x,y]=meshgrid(x,y);
n=5;
M = moviein(n);
for i=1:n
z=sin(sqrt(2*(x).^2+2*(y).^2)-2*pi*i/10);
zz=plot3(x,y,z,'parent',gca);
mesh(x,y,z);
grid on;
colormap([0,0.9,0.5]);
light('position',[1,1,2],'style','local','color','white');
material([0.5,0.4,0.3,10,0.3]);
set(gca,'zlim',[-10,10]');
M(i)=getframe(gca);
end
movie(M,20)
创建电影剪辑文件,并存储起来,如下:
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);%关闭文件,结束数值仿真模拟过程。

相关文档
最新文档