求用matlab制作简单动画实例

要求:1.动画里包含一些简单图形(圆,椭圆,多边形...)的位置的移动,同时伴随着图形形状和颜色的变化,以及图形的消失和重现。2.动画在30秒左右。感激不尽!可发QQ邮箱... 要求:1. 动画里包含一些简单图形(圆,椭圆,多边形...)的位置的移动,同时伴随着图形形状和颜色的变化,以及图形的消失和重现。2. 动画在30秒左右。 感激不尽 ! 可发QQ邮箱95453597@qq.com
或者是画一个黑白棋盘,让里面的小方格颜色变化形成动画,求相关实例.
展开
 我来答
爱娱乐达人小张
高粉答主

2020-04-30 · 关注我不会让你失望
知道答主
回答量:395
采纳率:100%
帮助的人:8.4万
展开全部

具体制作方法如下:

1、首先,这里举例代码如下:

x=-8:0.5:8;

[XX,YY]=meshgrid(x);

r=sqrt(XX.^2+YY.^2)+eps;

Z=sin(r)./r;

surf(Z);

生成了一幅静态的surf图片,XX,YY由meshgrid生成。

2、下面输入

theAxes=axis;,

右侧可以看到,theAxes=[0,40,0,40,-0.5,1],这是surf函数生成的,因为上面绘制的surf没有使用surf(XX,YY,Z)所以坐标范围不同,但是无论什么坐标范围,这里都先取出来,存到一个变量中,后面备用。

3、fmat=moviein(20);

将fmat保存为一个moviein结构体,20表示动画有20帧。

4、输入:

for j=1:20;

surf(sin(2*pi*j/20)*Z,Z)

axis(theAxes)

fmat(:,j)=getframe;

end

这里就是分别画每一帧的图像,此处我们的surf是分20份来画,坐标轴统一为之前的保存的坐标轴,把moviein结构体fmat的取为getframe,如图。

5、movie(fmat,10);就是动画放10遍。

6、全代码如下:

x=-8:0.5:8;

[XX,YY]=meshgrid(x);

r=sqrt(XX.^2+YY.^2)+eps;

Z=sin(r)./r;

surf(Z);

theAxes=axis;

fmat=moviein(20);

for j=1:20;

surf(sin(2*pi*j/20)*Z,Z)

axis(theAxes)

fmat(:,j)=getframe;

end

movie(fmat,10)

博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生... 点击进入详情页
本回答由博思aippt提供
电动炉钩子
推荐于2018-03-11 · TA获得超过1568个赞
知道小有建树答主
回答量:614
采纳率:0%
帮助的人:804万
展开全部
Speed = 1; %数字越大越快
W = ones(40);
B = zeros(40);
P1 = [B W];
P1 = repmat(P1,1,10);
P2 = [W B];
P2 = repmat(P2,1,10);
P = [P1;P2];
P = repmat(P,8,1);
imshow(P)
drawnow;
pause(2/Speed);
f = 1;
tic;
while f
    t = toc;
    if t >= 30
        f = 0;
    end
    Pn = P;
    Pn(P==1) = rand(1);
    Pn(P==0) = rand(1);
    Pn(1,1) = 1;
    imagesc(Pn); axis equal; colormap jet;
    drawnow;
    pause(2/Speed);
end

看看满意不

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式