用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.blog.sohu.com/
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
用matlab作乌鸦喝水,仿真程序动画作品--乌鸦喝水相关推荐
- MATLAB偏振光的反射与折射,仿真程序动画作品--光的反射与折射*
%作者:040403308 xmax=1;%x轴坐标长 ymax=1;%y轴坐标长 x=0.5;%x初值 y=1;%y初值 figure(1);%给程序命名 fill([0.1,xmax+0.1,xm ...
- Android百度地图水波纹动画,高德地图实现水波纹扩散
功能修改,要求在地图上有个类似雷达的水波纹扩散的动画,通过大半天时间的研究.查找,终于完成了这项任务,话不多说,下面直接贴出代码,供有需要的兄弟参考, 1.首先在地图上画个圆如下图 2.新建个JS / ...
- html5 水效果图,HTML5 canvas水波纹动画插件waterrippleeffect.js
插件描述:这是一款HTML5 canvas水波纹动画特效.该水波纹动画以插件的形式进行编写,可以是纯js插件,或通过jquery插件来进行调用.它能够制作出逼真的水波纹动画效果 使用方法 在页面中引入 ...
- 电力系统matlab实验报告,基于matlab语言计算电力系统暂态稳定仿真程序实验报告.docx...
基于matlab语言计算电力系统暂态稳定仿真程序实验报告 BeijingJiaotongUniversity 电力系统分析 暂态稳定分析实验 学院:电气工程学院 班级:xxxxxxxx 学号:xxxx ...
- Android自定义水波纹动画Layout
Android自定义水波纹动画Layout 源码是双11的时候就写好了,但是我觉得当天发不太好,所以推迟了几天,没想到过了双11女友就变成了前女友,桑心.唉不说了,来看看代码吧. 展示效果 Hi前辈 ...
- MATLAB作二维傅里叶变换所需要注意和知道的东西(im2double、fft2、abs、imshow、二维傅里叶变换的物理意义)
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 代码如下,这个代码是实现灰度图像作二维傅里叶变换 ...
- 先进pid控制matlab仿真程序,先进PID控制Matlab仿真第4版-仿真程序-上交
文件名大小更新时间 先进PID控制Matlab仿真第4版-仿真程序-上交02016-03-07 先进PID控制Matlab仿真第4版-仿真程序-上交\chap102016-03-07 先进PID控制M ...
- android曲线水波纹录音动画,Android-贝塞尔曲线实现水波纹动画
Android 系统api提供了quadTo和rQuadTo实现二阶贝塞尔曲线,三阶贝塞尔曲线在这不做阐述,只不过是两个控制点. 效果图 首先看张二阶贝赛尔的曲线 Path path = new Pa ...
- css 波纹扩散_css水波纹动画
好久没有写 css 动画了,久到我都忘了了,想当初在大学的时候,写起 css3 的动画,那可是6得很. 今天要实现个水波纹动画,暂且记录一下思路吧 刚开始拿到的时候还是有点傻眼,第一种方案,我的想法是 ...
最新文章
- 利用 RDA5807的RSSI测量RF强度
- mfc 资源视图无法打开RC2104
- 设置分区的三种方法coalesce、repartition、partitionBy
- 王道408数据结构——第二章 线性表
- Spark入门(十)之Distinct去重
- NoSQL数据库:从故障中恢复数据的原理
- 测试与 debug 心得
- 2017java面试_2017 Java面试大全(一)
- 【语音处理】基于matlab GUI汉宁窗FIR陷波滤波器语音信号加噪去噪【含Matlab源码 1711期】
- c语言书199页第12题,单片机C语言入门实例和最常见问题分析(含程序部分了)(199页)-原创力文档...
- 因子分析的实用介绍:探索性因子分析
- 视频编码-码率控制CQP/CRF/ABR/CBR/VBV
- java条形码识别_java openCV 识别条形码
- 平面解析几何----圆锥曲线1/AF+1/BF=2/ep的三种证法
- Java中限定类名和非限定类名的区别
- 钉钉小程序图表刷新 antv-f2
- 程序员这样对待简历,你期望面试官怎么对待你?
- 中国福利彩票,牛B,开奖和数据传输有什么关系?
- 第九回(一):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷
- 西米支付:数字人民币常识普及
热门文章
- 蚁群算法简介及matlab源代码
- 典型相关分析(Canonical correlation analysis)(二):原始变量与典型变量之间的相关性 、典型相关系数的检验
- HC-SR04 超声波测距模块说明
- docker启动无法指定配置文件
- 这6部韩国电影你都看过吗?
- SICTF2023 misc-wp
- php exit 和die,PHP中的die()和exit()有什么区别?
- xp桌面计算机在哪个文件夹,windows桌面文件路径 windows xp 桌面文件默认存放路径...
- Ubuntu Desktop LTS - 文件完整路径
- 边缘提取——Prewitt算子和Sobel算子