MATLAB-动画演示程序汇总_第1页
MATLAB-动画演示程序汇总_第2页
MATLAB-动画演示程序汇总_第3页
MATLAB-动画演示程序汇总_第4页
MATLAB-动画演示程序汇总_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB 动画演示程序汇总1.弹性蹦球演示程序figure(1);%定义函数axis(-5.1,5,-0.05,1.05);%绘制二维图形hold on;%保持当前图形及轴系所有的特性axis(off);%覆盖坐标刻度,并填充背景%通过填充绘出台阶及两边的挡板fill(4.12,4.22,4.22,4.12,-0.05,-0.05,1.05,1.05,y);fill(-5,-3.2,-3.2,-5,-0.05,-0.05,0,0,g);fill(-3.2,-2.8,-2.8,-3.2,-0.05,-0.05,0.2,0.2,g);fill(-3.2,-1.4,-1.4,-3.2,0.2,0.2,0.25,0.25,g);fill(-1.4,-1,-1,-1.4,0.2,0.2,0.45,0.45,g);fill(-1.4,0.4,0.4,-1.4,0.45,0.45,0.5,0.5,g);fill(0.4,0.8,0.8,0.4,0.45,0.45,0.7,0.7,g);fill(0.4,2.0,2.0,0.4,0.7,0.7,0.75,0.75,g);fill(2.0,2.3,2.3,2.0,-0.05,-0.05,0.75,0.75,g);fill(2.3,4.12,4.12,2.3,-0.05,-0.05,0,0,g);%x2=line(-5,5,0.25,0.25,color,g,linestyle,-, markersize,50)%设置台阶边框线,颜色,擦试方式%line(-5,5,0.5,0.5,color,b,linestyle,-, markersize,50)%设置球与地面接触面的颜色,擦试方式%line(-5,5,0.75,0.75,color,b,linestyle,-, markersize,50)%设置球与地面接触面的颜色,擦试方式head=line(-5,1,color,r,linestyle,.,erasemode,xor, markersize,60);%设置小球颜色,大小,线条和擦试方式%body=line(-5,1,color,b,linestyle,-,erasemode,none); %描绘轨迹线%设置初始条件while 1t=4;dt=0.001;w=0;dw=0.001;w=0;%设置球弹起的初始位置%设置球弹起的高度while t=4.12t=dt+t;if w=2.11t=t-dt;if w=1.11t=t-dt;if w=-0.62t=t-dt;if w=-2.31t=t-dt;if w=-4t=t-dt;if w199)endendend2.嫦娥奔月演示程序figure(name,嫦娥一号与月亮、地球关系);%设置标题名字s1=0:.01:2*pi;hold on;axis equal;%建立坐标系axis off % 除掉Axesr1=10;%月亮到地球的平均距离r2=3;%嫦娥一号到月亮的平均距离w1=1;%设置月亮公转角速度w2=12%设置嫦娥一号绕月亮公转角速度t=0;%初始时刻为pausetime=.002;%设置暂停时间sita1=0;sita2=0;%设置开始它们都在水平线上set(gcf,doublebuffer,on) %消除抖动plot(-20,18,color,r,marker,.,markersize,40);text(-17,18,地球);%对地球进行标识p1=plot(-20,16,color,b,marker,.,markersize,20);text(-17,16,月亮);%对月亮进行标识p1=plot(-20,14,color,w,marker,.,markersize,13);text(-17,14,嫦娥一号);%对嫦娥一号进行标识plot(0,0,color,r,marker,.,markersize,60);%画地球plot(r1*cos(s1),r1*sin(s1);%画月亮公转轨道set(gca,xlim,-20 20,ylim,-20 20);p1=plot(r1*cos(sita1),r1*sin(sita1),color,b,marker,.,markersize,30);%画月亮初始位置l1=plot(r1*cos(sita1)+r2*cos(s1),r1*sin(sita1)+r2*sin(s1);%画嫦娥一号绕月亮公转轨道p2x=r1*cos(sita1)+r2*cos(sita2);p2y=r1*sin(sita1)+r2*sin(sita2);p2=plot(p2x,p2y,w,marker,.,markersize,20);%画嫦娥一号的初始位置orbit=line(xdata,p2x,ydata,p2y,color,r);%画嫦娥一号的运动轨迹while 1set(p1,xdata,r1*cos(sita1),ydata,r1*sin(sita1);%设置月亮的运动过程set(l1,xdata,r1*cos(sita1)+r2*cos(s1),ydata,r1*sin(sita1)+r2*sin(s1);%设置嫦娥一号绕月亮的公转轨道的运动过程ptempx=r1*cos(sita1)+r2*cos(sita2);ptempy=r1*sin(sita1)+r2*sin(sita2);set(p2,xdata,ptempx,ydata,ptempy);%设置嫦娥一号的运动过程p2x=p2x ptempx;p2y=p2y ptempy;set(orbit,xdata,p2x,ydata,p2y);%设置嫦娥一号运动轨迹的显示过程sita1=sita1+w1*pausetime;%月亮相对地球转过的角度sita2=sita2+w2*pausetime;%嫦娥一号相对月亮转过的角度pause(pausetime); %暂停一会drawnowend3.曲柄连杆机构充气球动画演示程序hf=figure(name,打气筒吹气球);set(hf,color,g);axis(-10,10,-4,4);hold onaxis off; %除掉坐标xa0=-2.5;%活塞左顶点坐标xa1=-1.8;%活塞右顶点坐标xb0=-2;%连杆左顶点坐标xb1=5;%连杆右顶点坐标x3=5.6;%转轮坐标y3=0;%转轮坐标x4=xb1;%设置连杆头的初始位置横坐标y4=0;%设置连杆头的初始位置纵坐标x5=xa1;y5=0;x6=x3;%设置连轴初始横坐标y6=0;%设置连轴初始纵坐标a=0.7;b=0.7c=0.7a1=line(xa0;xa1,0;0,color,m,linestyle,-,linewidth,20); %设置活塞a8=line(-2.7;2.3,0.3;0.3,color,b,linestyle,-,linewidth,5);%设置打气筒a9=line(-2.6;2.3,-0.3;-0.3,color,b,linestyle,-,linewidth,5);%设置打气筒a10=line(-2.6;-2.6,-0.1;-0.37,color,b,linestyle,-,linewidth,5);%设置打气筒a11=line(2.0;2.0,0.1;0.37,color,b,linewidth,5);%设置打气筒a12=line(2.0;2.0,-0.1;-0.37,color,b,linewidth,5);%设置打气筒a13=line(-2.6;-2.6,0.1;0.37,color,b,linestyle,-,linewidth,5);%设置打气筒a14=line(-2.7;-2.7,0.1;-0.1,color,b,linestyle,-,linewidth,9);%设置气筒嘴a16=line(-3.2;-3.2,0.1;-0.1,color,r,linestyle,-,linewidth,25);%设置气筒嘴a2=line(xb0;xb1,0;0,color,m,linewidth,5);%设置连杆a5=line(x5,y5,color,black,linestyle,.,markersize,25);%设置连杆活塞连接头a4=line(x4,y4,color,black,linestyle,.,markersize,25);%设置连杆连接头a6=line(xb1;x3,0;0,color,b,linestyle,-,linewidth,7);%设置连杆连接轴a7=line(x3,0,color,m,linestyle,.,markersize,50);%设置运动中心a3=line(x3,y3,color ,0.5 0.6 0.3,linestyle,.,markersize,85);%设置手轮len1=6.8;%连杆长len2=0.7;%活塞长r=1.3;%运动半径dd=0.01;d=-4;plot(d,0,color,r,marker,.,markersize,10);pausetime=.0001s=0;ds=1;t=0;dt=0.015*pi;while t0)s=s+ds;d=d-dd;if s200s=0;d=0;endset(gcf,doublebuffer,on);%消除震动plot(d,0,color,r,marker,.,markersize,s);%画气球set(gcf,doublebuffer,on) %消除抖动pause(pausetime); %暂停一会drawnow;endendx=-8.0 -7.0 -6.0 -5.5 -4.5 -3.5 -3.7 -3 -4 -5.5 -6.5 -7.5 -9.1 -7.3 ;y=-1.8 -1.2 -2.8 -1.5 -2.8 -0.5 -0.7 0.7 0.2 1.5 0.8 1.2 1.9 0.5;fill(x,y,r);text(-6,0,pa,fontsize,22);4.打桩机动画演示程序clear; %清除工作区clc; %清除命令区figure(name,武工院打桩机); %设置标题axis (0 ,10,0,10); %建立坐标系hold on;axis off; %除掉坐标text(3,9.8,武工院打桩机,fontsize,20,color,r);%画打桩机支架c1=line(1;5.5, 0.15;0.15,color,k,linewidth,8);c2=line(1.7;5.2, 1.5;0.15,color,k,linewidth,4);c3=line(1.8;5.2, 0.1;8,color,k,linewidth,4);c4=line(1.7;5.2, 1.5;8,color,k,linewidth,2);c5=line(1.2;1.8, 0.5;0.5,color,k,linewidth,13);fill(4.9,5.3,5.3,4.9,8.0,8.0,0.3,0.3,1,0.1,0.5);fill(4.4,4.6,5.6,5.8,5.6,4.6,8.4,8.3,8.3,8.4,8.0,8.0,1,0.1,0.5)%画打桩机运动部分和水泥桩b1=line(8;8,1;6,color,b,linewidth,6);b2=line(5.5,5.5,7.9,8,color,k,linewidth,1);b3=line(5.3,5.55,7.9,7.9,color,k,linewidth,3);b4=line(5.5,5.5,7.9,6.3,color,k,linewidth,3);b5=line(5.5,5.5,7,6.6,color,k,linewidth,10);b6=line(5.5,5.5,6.6,6.3,color,k,linewidth,12);pausetime=1.6; %设置暂停时间pause(pausetime);%吊装水泥桩s=0;ds=0.01;pausetime1=.002;while s2.5 %水泥桩向左移动s=s+ds;set(b1,xdata,8-s;8-s,ydata,1;6);pause(pausetime1);endpausetime2=1;pause(pausetime2);s=0;ds=0.01;while s1 %水泥桩向下移动s=s+ds;set(b1,xdata,5.5;5.5,ydata,1-s;6-s);pause(pausetime1);endpause(pausetime2);s=0;ds=0.01;while s1.3 %打桩机运动部分下移与水泥桩顶端相接触s=s+ds;set(b2,xdata,5.5;5.5,ydata,7.9-s,8);set(b3,xdata,5.3;5.55,ydata,7.9-s,7.9-s);set(b4,xdata,5.5;5.5,ydata,7.9-s,6.3-s);set(b5,xdata,5.5;5.5,ydata,7-s,6.6-s);set(b6,xdata,5.5;5.5,ydata,6.6-s,6.3-s);pause(pausetime1);end%打桩机开始打桩pausetime3=.4;pause(pausetime2);s=0;ds=0.06; %设定打桩进度while s4a=0;da=0.01;pausetime4=.0002;while a.4 %两个子循环设置打桩机铁锺上下反复运动a=a+da;set(b5,xdata,5.5;5.5,ydata,5.7-s+a,5.3-s+a);pause(pausetime4);enda=0;while a,erasemode,xor,markersize,10);% %绘制箭头三角形pause(1);%下面是开关闭合的过程t=0;y=7.7;while y6.7 %电路总循环控制开关动作条件x=4+sqrt(2)*cos(pi/4*(1-t);y=6.7+sqrt(2)*sin(pi/4*(1-t);set(a,xdata,4;x,ydata,6.7;y);drawnow;t=t+0.1;end%下面是开关闭合后模拟大致电流流向的过程pause(1);light=line(10,4.3,color,y,marker,.,markersize,40,erasemode,xor);%画灯丝发出的光:黄色%画电流的各部分h=line(1;1,5.2;5.6,color,r,linestyle,-,linewidth,4,erasemode,xor);g=line(1,5.7,color,b,linestyle,erasemode,xor,markersize,10);%给循环初值t=0;m2=5.7;n=5.7;while n6.3;%确定电流竖向循环范围m=1;n=0.05*t+5.7;set(h,xdata,m;m,ydata,n-0.5;n-0.1);set(g,xdata,m,ydata,n);t=t+0.01;drawnow;endt=0;while t2;%在转角处的停顿时间m=1.2-0.2*cos(pi/4)*t);n=6.3+0.2*sin(pi/4)*t);set(h,xdata,m-0.5;m-0.1,ydata,n;n);set(g,xdata,m,ydata,n);t=t+0.05;drawnow;endt=0;while t,markersize,10,erasemode,xor); %绘制第二个箭头set(g,xdata,1.2,ydata,6.5);drawnow;endpause(0.5);t=0;while m8 % 确定第二个箭头的循环范围m=1.1+0.05*t;n=6.5;set(g,xdata,m+0.1,ydata,6.5);set(h,xdata,m-0.4;m,ydata,6.5;6.5);t=t+0.05;drawnow;endt=0;while t2 %在转角后的停顿时间m=8.1+0.2*cos(pi/2-pi/4*t);n=6.3+0.2*sin(pi/2-pi/4*t);set(g,xdata,m,ydata,n);set(h,xdata,m;m,ydata,n+0.1;n+0.5);t=t+0.05;drawnow;endt=0;while t,markersize,10,erasemode,xor);g=line(8.3,6.3,color,b,linestyle,v,markersize,10,erasemode,xor);set(g,xdata,8.3,ydata,6.3);drawnow;endpause(0.5);t=0;while n1 %确定箭头的运动范围m=8.3;n=6.3-0.05*t;set(g,xdata,m,ydata,n);set(h,xdata,m;m,ydata,n+0.1;n+0.5);t=t+0.04;drawnow;endt=0;while t2%箭头的起始时间m=8.1+0.2*cos(pi/4*t);n=1-0.2*sin(pi/4*t);set(g,xdata,m,ydata,n);set(h,xdata,m+0.1;m+0.5,ydata,n;n);t=t+0.05;drawnow;endt=0;while t0.5t=t+0.5;%绘制第四个箭头g=line(8.1,0.8,color,b,linestyle,v,markersize,10,erasemode,xor);g=line(8.1,0.8,color,b,linestyle,1.2 %箭头的运动范围m=8.1-0.05*t;n=0.8;set(g,xdata,m,ydata,n);set(h,xdata,m+0.1;m+0.5,ydata,n;n);t=t+0.04;drawnow;endt=0;while t2 %停顿时间m=1.2-0.2*sin(pi/4*t);n=1+0.2*cos(pi/4*t);set(g,xdata,m,ydata,n);set(h,xdata,m;m+0.5,ydata,n-0.1;n-0.5);t=t+0.05;drawnow;endt=0;while t0.5 %画第五个箭头t=t+0.5;g=line(1,1,color,b,linestyle,markersize,10,erasemode,xor);g=line(1,1,color,b,linestyle,markersize,10,erasemode,xor);set(g,xdata,1,ydata,1);drawnow;endt=0;while n6.3 %循环范围m=1;n=1+0.05*t;set(g,xdata,m,ydata,n);set(h,xdata,m;m,ydata,n-0.5;n-0.1);t=t+0.04;drawnow;end%下面是开关断开后的情况t=0;y=6.7;while y7.7 %开关的断开x=4+sqrt(2)*cos(pi/4*t);y=6.7+sqrt(2)*sin(pi/4*t);set(a,xdata,4;x,ydata,6.7;y);drawnow;t=t+0.1;endpause(0.5);%开关延时作用nolight=line(10,4.3,color,y,marker,.,markersize,40,erasemode,xor);end7.防汛检测系统动画演示程序for j=0:10axis(-1 1 -1 1);%设置x,y 的坐标范围axis(off);%覆盖坐标刻度x1=0 0 0.8 0.8;y1=-0.6 -0.8 -0.8 -0.6;%对水槽中的水进行初设置line(0;0,0.2;-0.8,color,k,linewidth,3);%水槽左壁的颜色和宽度line(0;0.8,-0.8;-0.8,color,k,linewidth,3);%水槽底部的颜色和宽度line(0.8;0.8,-0.7;-0.8,color,k,linewidth,3);%水槽右边出水口的下面的颜色和宽度line(0.8;0.8,0.2;-0.6,color,k,linewidth,3);%水槽右边出水口的上面的颜色和宽度line(0.8;0.85,-0.7;-0.7,color,k,linewidth,3);%出水口的下壁的颜色和宽度line(0.8;0.85,-0.6;-0.6,color,k,linewidth,3);%出水口的上壁的颜色和宽度line(-0.35,0,Color,r,linestyle,., markersize,20);%给水线处小圆的颜色和尺寸line(-0.35,-0.6,Color,r,linestyle,., markersize,20);%警戒线出小圆的颜色和尺寸line(-0.45;-0.35,0;0,color,k,linewidth,2);%给水线处线条的颜色和宽度line(-0.45;-0.35,-0.6;-0.6,color,k,linewidth,2);%警戒线处线条的颜色和宽度line(-0.5;-0.5,0.2,-1,color,b,linewidth,15);%标杆的颜色和宽度text(-0.8,0,给水线);%文字标注“给水线”text(-0.8,-0.6,警戒线);%文字标注“警戒线”text(-0.4,0.6,防汛检测系统);%文字标注“防汛检测系统”text(0.6,-0.9,与江河连接);%文字标注“与江河连接”water=patch(x1,y1,0 1 1);%设置水的颜色及运动路径ball1=line(0.4,-0.6,EraseMode,xor,Color,b,linestyle,., markersize,100);%设置水槽中小球的颜色、大小和擦除方式ball2=line(-0.3,-0,EraseMode,xor,Color,r,linestyle,., markersize,50);%设置标杆处小球的颜色、大小和擦除方式gan=line(-0.3;0.4,-0;-0.6,EraseMode,xor,color,k,linewidth,1);%设置两球之间连线的颜色、大小和擦除方式for i=1:120a=-0.6+0.005*i;%设置系统的运动规律y1=a -0.8 -0.8 a;%设置水的上升运动过程yy1=a;%设置水槽中小球的上升运动过程yy2=-a-0.6%设置标杆处小球的上升运动过程set(water,ydata,y1);%设置水的上升运动set(ball1,ydata,yy1);%设置水槽中小球的上升运动set(ball2,ydata,yy2);%设置标杆处小球的上升运动set(gan,ydata,yy2 yy1);%设置两球之间的杆的运动drawnow;end%水的上升过程for i=1:120a=-0.005*i;%设置系统运动规律y1=a -0.8 -0.8 a;%设置水的下降运动过程yy1=a;%设置水槽中小球的下降运动过程yy2=-a-0.6%设置标杆处小球的下降运动过程set(water,ydata,y1);%设置水的下降运动set(ball1,ydata,yy1);%设置水槽中小球下降的运动set(ball2,ydata,yy2);%设置标杆处小球的下降运动set(gan,ydata,yy2 yy1);%设置两球之间的杆的下降运动drawnow;end%水的下降过程water=patch(x1,y1,0 1 1);%设置水的颜色及运动路径ball1=line(0.4,-0.6,EraseMode,xor,Color,b,linestyle,., markersize,100);%设置水槽中小球的颜色、大小和擦除方式ball2=line(-0.3,-0,EraseMode,xor,Color,r,linestyle,., markersize,50);%设置标杆处小球的颜色、大小和擦除方式gan=line(-0.3;0.4,-0;-0.6,EraseMode,xor,color,k,linewidth,1);%设置两球之间连线的颜色、大小和擦除方式end8.跟踪导弹动画演示程序(小名:没跑)xmax=1;ymax=1figure(name,休想逃!);fill(-2.5,2,2,-2.5,-2,-2,-1.2,-1.2,g);hold on;fill(-xmax-0.3,-xmax+0.3,-xmax+0.3,-xmax-0.3,-2*ymax+0.1,-2*ymax+0.1,-2*ymax+0.4,-2*ymax+0.4,0,0,0.5);hold on;fill(-xmax-0.2,-xmax+0.2,-xmax+0.2,-xmax-0.2,-2*ymax+0.4,-2*ymax+0.4,-2*ymax+0.6,-2*ymax+0.6,0,0.5,0);hold on;fill(-xmax-0.05,-xmax+0.05,-xmax+0.15,-xmax+0.2,-2*ymax+0.6,-2*ymax+0.6,-ymax,-ymax,0,0.5,0);hold on;axis(on);x0=-xmax+0.15;y0=-ymax;x1=2;y1=4;head=line(x0,y0,color,r,linestyle,erasemode,xor,markersize,5);body=line(x1,y1,color,r,linestyle,erasemode,xor,markersize,20);t=0;dt=0.001;v=1;v0=2;x=x0;y=y0;while y=y1t=t+dt;xx=x1-v*t;l=sqrt(y1-y)2+(2-x-v*t)2);vy=v0*(y1-y)/l;vx=v0*(2-x-v*t)/l;y=y+vy*dt;x=x+vx*dt;set(head,xdata,x,ydata,y);set(body,xdata,xx,ydata,y1);drawnow;endt=0;while t0.05t=t+0.01;x1=x-(0.5+5*t);x2=x-(0.2+2 *t);x3=x-(0.6+6*t);x4=x-(0.1+t);x5=x;x6=x+(0.05+0.5*t);x7=x+(0.3+3*t);x8=x+(0.2+2*t);x9=x+(0.4+4*t);x12=x+(0.1+t);x10=x;x11=x-(0.1+t);y1=y+(0.1+t);y2=y;y3=y-(0.5+5*t);y4=y-(0.2+2*t);y5=y-(0.5+5*t);y6=y-(0.3+3*t);y7=y-(0.4+4*t);y8=y;y9=y+(0.1+t);y12=y+(0.2+2*t);y10=y+(0.5+5*t);y11=y+(0.1+t);fill(x1,x2,x3,x4,x5,x6,x7,x8,x9,x12,x10,x11,y1,y2,y3,y4,y5,y6,y7,y8,y9,y12,y10,y11,r);hold on;end9.汉诺塔游戏攻略动画演示hf=figure(name,汉诺塔游戏仿真); %加标题axis(0,12,0,12); %画坐标set(hf,color,w); %填充背景hold on; %保持图形axis(off); %隐藏网络线rectangle(position,0,0,12,0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论