matlab模拟嫦娥奔月,【文章】仿真动画软件设计作品--嫦娥奔月

icon1.gif 【文章】仿真动画软件设计作品--嫦娥奔月

figure('name','嫦娥一号与月亮、地球关系');%设置标题名字

s1=[0:.01:2*pi];

hold on;axis equal;%建立坐标系

axis off % 除掉Axes

r1=10;%月亮到地球的平均距离

r2=3;%嫦娥一号到月亮的平均距离

w1=1;%设置月亮公转角速度

w2=12%设置嫦娥一号绕月亮公转角速度

t=0;%初始时刻为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 1

set(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); %暂停一会

drawnow

end

(注:本文转自转自《麓瑜园》,版权归原作者所有!在此仅作交流讨论之用,如需转载请注明原作者!)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值