MATLAB代做  | MATLAB代写  | MATLAB有偿编程
首 页
当前位置:MATLAB代做|MATLAB代写|MATLAB有偿编程matlab源码基础应用
电梯动画演示程序        [↓跳到下载地址]
官方主页:源码共享网站:www.buycode.cn

联系方式:客服QQ:1747812398 买代码源码软件站,欢迎咨询

运行环境:Win9X/2000/XP/2003/

源码语言:简体中文

源码类型:破解软件 - 基础应用

推荐星级:

更新时间:2088-07-28 16:36:56

源码简介


figure('name','自控电梯');

axis([-2.0,15.0,-2.0,15.0])

hold on

fill([-2,15,15,-2],[-2,-2,15,15],[0.5,0.2,0.3]);

x1=[8 8 10 10];

y1=[6 0 0 6];

x2=[10 10 12 12];

text(-1,8,'上升','fontsize',10,'color','c');

text(4,8,'下降','fontsize',10,'color','c');

text(6,12.5,'控制电机','fontsize',10,'color','c');

text(12.5,3,'电梯','fontsize',10,'color','c');

text(5,4.5,'关闭','fontsize',10,'color','c');

text(5,1.5,'打开','fontsize',10,'color','c'); 

l1=line([2;5.5],[11;11],'color','c','linestyle','-','linewidth',2);

l2=line([2;2],[9;11],'color','c','linestyle','-','linewidth',2);

l3=line([1;1],[7;9],'color','c','linestyle','-','linewidth',2);

l4=line([3;3],[7;9],'color','c','linestyle','-','linewidth',2);

l5=line([1;3],[9;9],'color','c','linestyle','-','linewidth',2);%绘制导线

k1=line([2;1],[6;7],'color','r','linestyle','-','linewidth',2);%单刀双掷开关

k2=line([4;5],[3;4],'color','b','linestyle','-','linewidth',2);%单刀双掷开关

g1=line([7.7;8],[3;3],'color','b','linestyle','-','linewidth',2);

g2=line([7.7;7.7],[3;4],'color','b','linestyle','-','linewidth',2);

g3=line([7.4;7.7],[2;4],'color','b','linestyle','-','linewidth',2);

g4=line([7.4;7.4],[2;4],'color','b','linestyle','-','linewidth',2);

g5=line([7.1;7.4],[2;4],'color','b','linestyle','-','linewidth',2);

g6=line([7.1;7.1],[2;4],'color','b','linestyle','-','linewidth',2);

g7=line([6.8;7.1],[2;4],'color','b','linestyle','-','linewidth',2);

g8=line([6.8;6.8],[2;4],'color','b','linestyle','-','linewidth',2);

g9=line([6.5;6.8],[2;4],'color','b','linestyle','-','linewidth',2);

g10=line([6.5;6.5],[2;3],'color','b','linestyle','-','linewidth',2);

g11=line([6.0;6.5],[3;3],'color','b','linestyle','-','linewidth',2);

g12=line([6;6],[2;4],'color','c','linestyle','-','linewidth',2);

g13=line([5;6],[2;2],'color','c','linestyle','-','linewidth',2);

g14=line([5;6],[4;4],'color','c','linestyle','-','linewidth',2);%绘制电梯门伸缩控制开关

door1=patch(x1,y1,[0 1 1]);

door2=patch(x2,y1,[0 1 1]);%画电梯的两面门

t=0:pi/100:2*pi;

fill(6+0.5*sin(t),11+cos(t),[0.7,0.85,0.9]);%电机左端

fill(8.5+0.5*sin(t),11+cos(t),[0.7,0.85,0.9]);%电机右端

e0=line([9;10],[11;11],'color','r','linewidth',2);%

e1=line([10;10],[6;11],'color','b','linewidth',2);%连接电机中轴和电梯的线

%画电机的表面(用八根不同颜色的线代替,每根之间相差pi/4)

%为简便起见,初始条件下可将八根线分成两组放在电机的顶端和底端

s1=line([6;8.5],[12;12],'color','c','linestyle','-','linewidth',2);

s2=line([6;8.5],[10;10],'color','m','linestyle','-','linewidth',2);

s3=line([6;8.5],[12;12],'color','b','linestyle','-','linewidth',2);

s4=line([6;8.5],[10;10],'color','w','linestyle','-','linewidth',2);

s5=line([6;8.5],[12;12],'color','k','linestyle','-','linewidth',2);

s6=line([6;8.5],[10;10],'color','g','linestyle','-','linewidth',2);

s7=line([6;8.5],[12;12],'color','r','linestyle','-','linewidth',2);

s8=line([6;8.5],[10;10],'color','b','linestyle','-','linewidth',2);

a=0;    %设定电机运转的初始角度

da=0.05;%设定电机正转的条件

s=0;    %设定门运动的初始条件

ds=0.05;%设定门运动的周期

while s<5    %条件表达式  (当0<s<5时,电机正转,门上升)

a=a+da;

  xa1=6+abs(0.5*sin(a)); %当线运动到电机背面时会覆盖电机左端,用abs可解决这一问题增强逼真感)

  xa2=8.5+0.5*sin(a);

  ya1=11+cos(a);

  ya2=11+cos(a);%设定s1的两端点坐标(s1是对应0的线)

  xb1=6+0.5*abs(sin(a+pi));

  xb2=8.5+0.5*sin(a+pi);

  yb1=11+cos(a+pi);

  yb2=11+cos(a+pi); %设定s2的两端点坐标(s2是对应pi的线)

  xc1=6+abs(0.5*sin(a+pi/2));

  xc2=8.5+0.5*sin(a+pi/2);

  yc1=11+cos(a+pi/2);

  yc2=11+cos(a+pi/2);%设定s3的两端点坐标(s3是对应pi/2的线)

  xd1=6+0.5*abs(sin(a-pi/2));

  xd2=8.5+0.5*sin(a-pi/2);

  yd1=11+cos(a-pi/2);

  yd2=11+cos(a-pi/2);%设定s4的两端点坐标(s4是对应-pi/2的线)

  xe1=6+abs(0.5*sin(a+pi/4));

  xe2=8.5+0.5*sin(a+pi/4);

  ye1=11+cos(a+pi/4);

  ye2=11+cos(a+pi/4);%设定s5的两端点坐标(s5是对应pi/4的线)

  xf1=6+0.5*abs(sin(a+pi*3/4));

  xf2=8.5+0.5*sin(a+pi*3/4);

  yf1=11+cos(a+pi*3/4);

  yf2=11+cos(a+pi*3/4);%设定s6的两端点坐标(s6是对应pi*3/4的线)

  xg1=6+abs(0.5*sin(a-pi*3/4));

  xg2=8.5+0.5*sin(a-3*pi/4);

  yg1=11+cos(a-3*pi/4);

  yg2=11+cos(a-3*pi/4);%设定s7的两端点坐标(s7是对应-3*pi/4的线)

  xh1=6+0.5*abs(sin(a-pi/4));

  xh2=8.5+0.5*sin(a-pi/4);

  yh1=11+cos(a-pi/4);

  yh2=11+cos(a-pi/4);  %设定s8的两端点坐标(s8是对应-pi/4的线)

  set(s1,'xdata',[xa1;xa2],'ydata',[ya1;ya2]);

  set(s2,'xdata',[xb1;xb2],'ydata',[yb1;yb2]);

  set(s3,'xdata',[xc1;xc2],'ydata',[yc1;yc2]);

  set(s4,'xdata',[xd1;xd2],'ydata',[yd1;yd2]);

  set(s5,'xdata',[xe1;xe2],'ydata',[ye1;ye2]);

  set(s6,'xdata',[xf1;xf2],'ydata',[yf1;yf2]);

  set(s7,'xdata',[xg1;xg2],'ydata',[yg1;yg2]);

  set(s8,'xdata',[xh1;xh2],'ydata',[yh1;yh2]); %绘制电机表面各线条的运动

  s=s+ds;

  set(door1,'xdata',x1,'ydata',[6+0.5*s 0+0.5*s 0+0.5*s 6+0.5*s]);

  set(door2,'xdata',x2,'ydata',[6+0.5*s 0+0.5*s 0+0.5*s 6+0.5*s]); %绘制门的向上运动

  set(e1,'xdata',[10;10],'ydata',[6+0.5*s;11]);  %绘制门顶的绳索的向上运动

  set(gcf,'doublebuffer','on');%消除振动

  drawnow;

  end

b=0;%设定电机反转的条件

db=0.05;

while s<10    %条件表达式  (当5<s<10时,电机反转,门下降)

b=b-db;

  xa1=6+abs(0.5*sin(a+b));

  xa2=8.5+0.5*sin(a+b);

  ya1=11+cos(a+b);

  ya2=11+cos(a+b);%设定s1的两端点坐标(s1是对应0的线)

  xb1=6+0.5*abs(sin(a+pi+b));

  xb2=8.5+0.5*sin(a+pi+b);

  yb1=11+cos(a+pi+b);

  yb2=11+cos(a+pi+b);%设定s2的两端点坐标(s2是对应pi的线)

  xc1=6+abs(0.5*sin(a+pi/2+b));

  xc2=8.5+0.5*sin(a+pi/2+b);

  yc1=11+cos(a+pi/2+b);

  yc2=11+cos(a+pi/2+b);%设定s3的两端点坐标(s3是对应pi/2的线)

  xd1=6+2*abs(sin(a-pi/2+b));

  xd2=8.5+0.5*sin(a-pi/2+b);

  yd1=11+cos(a-pi/2+b);

  yd2=11+cos(a-pi/2+b);%设定s4的两端点坐标(s4是对应-pi/2的线)

  xe1=6+abs(0.5*sin(a+pi/4+b));

  xe2=8.5+0.5*sin(a+pi/4+b);

  ye1=11+cos(a+pi/4+b);

  ye2=11+cos(a+pi/4+b);%设定s5的两端点坐标(s5是对应pi/4的线)

  xf1=6+0.5*abs(sin(a+pi*3/4+b));

  xf2=8.5+0.5*sin(a+pi*3/4+b);

  yf1=11+cos(a+pi*3/4+b);

  yf2=11+cos(a+pi*3/4+b);%设定s6的两端点坐标(s6是对应pi*3/4的线)

  xg1=6+abs(0.5*sin(a-pi*3/4+b));

  xg2=8.5+0.5*sin(a-3*pi/4+b);

  yg1=11+cos(a-3*pi/4+b);

  yg2=11+cos(a-3*pi/4+b);%设定s7的两端点坐标(s7是对应-3*pi/4的线)

  xh1=6+0.5*abs(sin(a-pi/4+b));

  xh2=8.5+0.5*sin(a-pi/4+b);

  yh1=11+cos(a-pi/4+b);

  yh2=11+cos(a-pi/4+b);%设定s8的两端点坐标(s8是对应-pi/4的线)

  %绘制电机表面各线条的运动

  set(s1,'xdata',[xa1;xa2],'ydata',[ya1;ya2]);

  set(s2,'xdata',[xb1;xb2],'ydata',[yb1;yb2]);

  set(s3,'xdata',[xc1;xc2],'ydata',[yc1;yc2]);

  set(s4,'xdata',[xd1;xd2],'ydata',[yd1;yd2]);

  set(s5,'xdata',[xe1;xe2],'ydata',[ye1;ye2]);

  set(s6,'xdata',[xf1;xf2],'ydata',[yf1;yf2]);

  set(s7,'xdata',[xg1;xg2],'ydata',[yg1;yg2]);

  set(s8,'xdata',[xh1;xh2],'ydata',[yh1;yh2]);

  s=s+ds;

  set(k1,'xdata',[2;3],'ydata',[6;7]);   %绘制闸刀的换向运动

  set(door1,'xdata',x1,'ydata',[11-0.5*s 5-0.5*s 5-0.5*s 11-0.5*s]);

  set(door2,'xdata',x2,'ydata',[11-0.5*s 5-0.5*s 5-0.5*s 11-0.5*s]);%绘制门的向下运动

  set(e1,'xdata',[10;10],'ydata',[11-0.5*s;11]);  %绘制门顶绳索的向下运动

  set(gcf,'doublebuffer','on');%消除振动

  drawnow;

  end

  for i=1:400

    a1=10-0.005*i;

    a2=10+0.005*i;

    x1=[8 8 a1 a1];

    x2=[a2 a2 12 12];

    set(door1,'xdata',x1);

    set(door2,'xdata',x2);

    set(k2,'xdata',[4;5],'ydata',[3;2]); %绘制闸刀的换向运动

    set(gcf,'doublebuffer','on');%消除振动

    drawnow;

    end %绘制电梯门的打开运动

  for i=1:400

    a3=8+0.005*i;

    a4=12-0.005*i;

    x1=[8 8 a3 a3];

    x2=[a4 a4 12 12];

    set(door1,'xdata',x1);

    set(door2,'xdata',x2);

    set(k2,'xdata',[4;5],'ydata',[3;4]); %绘制闸刀的换向运动

    set(gcf,'doublebuffer','on');%消除振动

    drawnow;

    end %绘制电梯门的关闭运动


提 示:本站所有源码只提供浏览,需要定制的朋友可以联系在线客服!
注意:价格根据项目的难易程度来定价格业务咨询

电梯动画演示程序 --下载地址

注意:为避免不必要的误会,本站项目里的源码只公开部分需要的联系在线客服

本站长期招聘程序代写高手,欢迎加入华南地区matlab团队

想创业却没有经验的人

无论你是否有过网上开店的经验,都可以随时联系在线客服,建立自己独立的网站
想开网店却不知道如何入手

淘宝创业成本低而且风险小,如果想开淘宝店的朋友可以联系在线客服。
想兼职创业,却不擅长交际与服务的人

在家创业月入5000元。网站程序+百套群发工具+网赚资料+域名+空间+本站终身代理资格,这样你网赚的条件全具备了。每天3小时管理、推广、收钱。
缺乏能快速赢利型产品的人

导入多种最新流行营销软件+网赚教程,让入驻者轻松加盟、复制有效成交技巧、快速赚钱。
·上一源码:电路演示程序
·下一源码:防汛检测系统动画演示程序

源码评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

浏览说明

* 本站所有源码全部公开,随时随地浏览!
* MATLAB软件如用于商业用途,请购买正版!
* 如果您发现下载链接错误,请点击报告错误谢谢!
* 站内提供的所有软件包含破解及注册码均是由网上搜集,若侵犯了你的版权利益,敬请来信通知我们!
Copyright © 2008-2014 www.buycode.cn. All Rights Reserved.
页面执行时间:171.87500 毫秒