700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 用matlab作乌鸦喝水 仿真程序动画作品--乌鸦喝水

用matlab作乌鸦喝水 仿真程序动画作品--乌鸦喝水

时间:2024-05-12 12:30:52

相关推荐

用matlab作乌鸦喝水 仿真程序动画作品--乌鸦喝水

%作者:070408418

clear

h1=figure(1);

axis([0 30 0 35]);%建立坐标轴

axis off;

xxx1=10;

yyy1=36;

aac='乌鸦要喝水';

for n=1:length(aac)

pause(0.5);

htext1=text(xxx1,yyy1,aac(n));

xxx1=xxx1+2;

axis off

set(htext1,'FontSize',[20],...

'color','b');

n=n+1;

end %标题

set (gcf,'doublebuffer','on');%防止抖动

hold on;

x1=[10,10,20,20];y1=[7,2,2,7];

p1=patch(x1,y1,'m');%建立下方的液面

%画架子

xx1=[4,4,11,11,6,6];yy1=[2,15,15,13,13,2];

pp1=patch(xx1,yy1,'b');

%画乌鸦

l11=line([9.3,10.1],[25.7,26.5],'color','r','linestyle','-','linewidth',2.5);

l12=line([9.8,9.8],[25.5,26.2],'color','r','linestyle','-','linewidth',2.5);

l13=line([10.3,10.3],[26.4,25.4],'color','r','linestyle','-','linewidth',2.5);

l14=line([10.3,10.8],[26,25.4],'color','r','linestyle','-','linewidth',2.5);%两只脚

x12=[7.5,9.5,9.5,7.5];y12=[29.5,28.5,27.5,26.8];

tail=patch(x12,y12,'k');%尾巴

x13=[13.7,14.5,14.5,13.7];y13=[28.5,28,28,27.5];

lip=patch(x13,y13,'y');%嘴巴

hold on;

head=line(13,28.1,'color','k','marker','.','markersize',55);%画乌鸦的脑袋

eye=line(13,28.3,'color','w','marker','.','markersize',10);%画乌鸦的眼睛

r=1.5;%画乌鸦的身体

tm1=0:0.1:2*pi

x11=10.9+r*cos(tm1)

y11=27.8+r*sin(tm1)

body=plot(x11,y11,'color','k')

aaaa=fill(x11,y11,'k')

%http://lvcha6255./

l1=line([10,10],[2,11.8],'color','k','linestyle','-','linewidth',2);

l2=line([10,20],[2,2],'color','k','linestyle','-','linewidth',2);

l3=line([20,20],[2,11.8],'color','k','linestyle','-','linewidth',2);

l4=line([10,14],[11.8,11.8],'color','k','linestyle','-','linewidth',2);

l5=line([14,14],[11.8,15],'color','k','linestyle','-','linewidth',2);

l6=line([16,16],[11.8,15],'color','k','linestyle','-','linewidth',2);

l7=line([16,20],[11.8,11.8],'color','k','linestyle','-','linewidth',2);

stone1=line(14.5,28,'color','r','marker','.','markersize',28);

stone2=line(14.5,28,'color','r','marker','.','markersize',28);

stone3=line(14.5,28,'color','r','marker','.','markersize',28);%画石头

text(17,14,'水面太低,乌鸦喝不到水','fontsize',16,'color','r');

pause(2);

g=9.8;%重力加速度

t=0;dt=0.001;

h1=26;

h2=28;%两块石头的初始高度

while h1 > 4

t=t+dt;

h1=h1-0.5*g*t^2;

h2=h2-0.5*g*t^2;

set(stone1,'xdata',15,'ydata',h1);

set(stone3,'xdata',14.7,'ydata',h2);

set (gcf,'doublebuffer','on');%防止抖动

drawnow;

end;

%下面是液面的变化

for i=0:100;%设置运动速度

ya=6+0.0365*i;

yb=ya;

set(p1,'ydata',[ya,2,2,ya]); %水槽液面变化情况

drawnow;

end;

pause(2);

g=9.8;%重力加速度

t=0;dt=0.001;

h1=28;%石头初始高度

while h1 > 4

t=t+dt;

h1=h1-0.5*g*t^2;

set(stone2,'xdata',14.6,'ydata',h1);

set (gcf,'doublebuffer','on');%防止抖动

drawnow;

end;

%下面是液面的变化

x2=[10,10,20,20];y2=[2,10,10,2];

p2=patch(x2,y2,'m');

for i=0:100;%设置运动速度

yb=8+0.0365*i;

set(p2,'ydata',[yb,2,2,yb]); %水槽液面同时变化情况

drawnow;

end;

%下面是乌鸦的运动

%pause(2);

g=10;%重力加速度

t=0;dt=0.0001;

y1=25.4

y2=26.4

y3=26

y4=25.4

y5=26.5

y6=25.7

y7=26.2

y8=25.5 %脚的初始高度

y9=28.3

y10=28.1;%头部的初始高度

x11=[7.5,9.5,9.5,7.5];y11=[29.5,28.5,27.5,26.8]; %尾巴的初始高度

x12=[13.7,14.5,14.5,13.7];y12=[28.5,28,28,27.5]; %嘴巴的初始高度

r=1.5;%画乌鸦的身体

tm1=0:0.1:2*pi

x13=10.9+r*cos(tm1)

y13=27.8+r*sin(tm1)

while y1 > 15;%脚的运动

t=t+dt;

y1=y1-0.5*g*t^2;

y2=y2-0.5*g*t^2;

y3=y3-0.5*g*t^2;

y4=y4-0.5*g*t^2;

y5=y5-0.5*g*t^2;

y6=y6-0.5*g*t^2;

y7=y7-0.5*g*t^2;

y8=y8-0.5*g*t^2;

y9=y9-0.5*g*t^2;

y10=y10-0.5*g*t^2;

y11=y11-0.5*g*t^2;

y12=y12-0.5*g*t^2;

y13=y13-0.5*g*t^2; %画乌鸦的身体

set([l13,l14,l11,l12],'xdata',[10.3,10.3,10.3,10.8,10.1,9.3,9.8,9.8],'ydata',[y1,y2,y3,y4,y5,y6,y7,y8]);

set([head,eye],'xdata',[13,13],'ydata',[y9,y10]);%头部的运动

set(tail,'xdata',[7.5,9.5,9.5,7.5],'ydata',y11);

set(lip,'xdata',[13.7,14.5,14.5,13.7],'ydata',y12);

set(body,'xdata',x13,'ydata',y13);

set(aaaa,'xdata',x13,'ydata',y13);

set (gcf,'doublebuffer','on');%防止抖动

drawnow;

end; %乌鸦的运动

xxx1=15;

yyy1=17;

aac='水面升高,乌鸦能喝到水啦';

for n=1:length(aac)

pause(0.1);

htext1=text(xxx1,yyy1,aac(n),'fontsize',16,'color','y');

xxx1=xxx1+1.5;

text(17,14,'','fontsize',16,'color','r');

end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。