模拟太阳月亮嫦娥关系

%%% mooon and sun and the girl

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值