%作者: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