模擬太陽月亮嫦娥關係

2021-06-17 00:58:30 字數 1823 閱讀 8131

%%% 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

OpenGL 地球,月亮,太陽 相對運動

file earch moon sun.c 每個月,月亮繞地球一圈,每年,地球繞太陽一圈。為簡單起見,假設每個月30天,一年共30x12 360 天。假設天體都是球形,處於同一平面,太陽不動。單位 km 放大倍數 太陽半徑 696000 100 69600000 地球半徑 6378 2500 159...

基於C 的2D太陽 地球 月亮運動軌跡模擬實現

如題所示 基於c 的2d太陽 地球 月亮運動軌跡模擬實現。此題目屬於圖形學中比較典型的有關運動軌跡實現的問題。首先二話不說,站在物件導向的角度考慮至少包含太陽 地球 月亮三個類。由於是模擬實現,故有些相關資料並非的絕對正確。在此我們假設太陽位於螢幕的畫布的中心,且靜止不動 雖然有自轉,但是由於是2d...

利用OpenGL模擬太陽系

1 了解opengl程式設計,並熟悉opengl的主要功能 繪製流程和基本語法,學會配置opengl壞境,並在該環境中程式設計繪圖 2 利用所學知識 如圓等基本圖形的繪製,平移 旋轉等三維幾何變換,透視投影,三維觀察,消隱等 模擬乙個動畫實體或場景 3 學會呼叫opengl庫中的函式,形成用open...