matlab,MATLAB 动画

1.3 质点动画
帖子地址:http://www.matlabsky.com/thread-594-1-1.html
用 comet()等函数绘制彗星图,它能演示一个质点的运动。质点运动轨迹动画方式是最简单的动画产
生方式,顾名思义,就是产生一个顺着曲线轨迹运动的质点来操作。
Matlab 中提供了 comet 和 comet3 命令来实现质点运动轨迹动画的绘制,其常用格式为:
comet(xdata,ydata,p) % p 是指彗星的尾巴的长度,可以是常数或者 size(x) 大小的向量
其他具体格式大家可以参考 doc comet 帮助系统
该方法的使用一般使用步骤如下:
step1:求解出质点完整的运动轨迹坐标 x,y 和 z
step2:使用 comet 或者 comet3 直接绘制动点
1.3.1 质点动画演示(一)
%by dynamic
%see also http://www.matlabsky.com
%2008.6.23
%
t=0:pi/50:10*pi;
x=30*sin(t);
y=30*cos(t);
z=t;
plot3(x,y,z);
hold _disibledevent=>
t = 0:0.01:10;
x = vx*t;
y = -9.8*t.^2/2;
comet(x,y)
1.3.3 质点动画演示(三)——导弹发射
%by dynamic
%see also http://www.matlabsky.com
%2008.6.13
%
vx = 100*cos(1/4*pi);
vy = 100*sin(1/4*pi);
t = 0:0.001:15;
x = vx*t;
y = vy*t-9.8*t.^2/2;
comet(x,y)
1.4 霓虹灯效果动画
帖子地址:http://www.matlabsky.com/thread-9255-1-1.html
如今繁华大都市的夜色中,霓虹闪烁,煞是好看,调用 MATLAB 中的 spinmap 函数可以做出这种效
果的动画,它是通过旋转颜色映像的方式来呈现这种霓虹闪烁的动画效果。spinmap 函数的调用格式如
下:
spinmap % 旋转颜色映像约 5 秒钟
spinmap(t) % 旋转颜色映像约 t 秒钟,具体时间取决于硬件
spinmap(t,inc) % 旋转颜色映像约 t 秒钟,并设置增量参数 inc ,该参数用来调整闪烁频率
spinmap('inf') % 不限时旋转颜色映像,若需终止,请按 Ctrl+C 键
1.4.1 霓虹灯效果动画实例(一)—— 霓虹闪烁的球体
% by xiezhh
sphere; % 绘制单位球面
axis equal; % 设置坐标显示比例相同
axis off; % 隐藏坐标轴
spinmap(20,1); % 设置增量参数为 1 ,旋转颜色映像约 20 秒
1.4.2 霓虹灯效果动画实例(二)—— 一颗花心
帖子地址:http://www.matlabsky.com/viewthread.php?tid=9489
% by qibbxxt
clear;clc;close all
c=5;
t=linspace(-c,c);
[x,y]=meshgrid(t);
z=17*x.^2-16*abs(x).*y+17*y.^2-225;
pcolor(x,y,z);
shading interp 2010 年 9 月 Matlab 中动画的实现、制作和保存 ·10·
pause(2);
spinmap(10)
1.5 GIF 格式动画制作
帖子地址:http://www.matlabsky.com/thread-9236-1-2.html
GIF 格式动画以其小巧受到大家的广泛欢迎,本贴以案例形式做一个总结。
制作 GIF 动画要用到 getframe、frame2im、rgb2ind 和 imwrite 函数,getframe 函数用来抓取当前图形
窗口中的图像,frame2im 函数和 rgb2ind 函数用来将抓取的图像转为索引图像,imwrite 函数用来将索引
图像写入 GIF 格式动画,需要注意的是 imwrite 函数不能将真彩图像写入 GIF 格式动画。关于这些函数的
具体用法,这里不再详述,请版友自行查阅帮助。下面只给出案例。
1.5.1 GIF 格式动画制作案例——绕螺旋线运动的小球
% by xiezhh
filename = 'xiezhh.gif';
z = linspace(0, 10*pi, 100); % 产生一个行向量
x = [20*sin(z),zeros(1,10)];
y = [20*cos(z),20*ones(1,10)];
z = [z,linspace(10*pi,0,10)];
plot3(x, y, z, 'r', 'linewidth', 2); % 绘制螺旋线
hold _disibledevent=>
xlabel('X'); ylabel('Y'); zlabel('Z'); % 添加坐标轴标签
axis([-25 25 -25 25 0 40]); % 设置坐标轴范围
view(-210,30); % 设置视角
for i = 1:length(x)
set(h, 'xdata' ,x(i), 'ydata' ,y(i), 'zdata' ,z(i));
drawnow; % 刷新屏幕
pause(0.05)
f = getframe(gcf);
imind = frame2im(f);
[imind,cm] = rgb2ind(imind,256);
if i == 1
imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.1);
else
imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.1);
end
end
Tags:  matlab下载 matlab

延伸阅读

最新评论

发表评论