Re: [心得] 星體運動軌跡動畫之模擬設計
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間13年前 (2011/12/16 13:04)推噓1(1推 0噓 2→)留言3則, 1人參與討論串2/2 (看更多)
※ 引述《harry901 (forcing to A cup)》之銘言:
: 今天突發奇想 不知道mathematica能不能拿來設計遊戲... 可惜畢竟是數學軟體...
: 這文章的目的是寫出地球對於一天體之運行軌跡的影響,以動畫方式呈現。
幫忙做了一些美工
earth=Import["http://rst.gsfc.nasa.gov/Sect16/full-20earth2.jpg",
"Image"];
myrange={{-1*10^6,400000},{-1*10^6,400000}};
stars=Point@RandomReal[myrange[[1]],{500,2}];
f[Dis_,AngVel_,RadVel_,time_]:=
Block[{IniDis=Dis,IniAngVel=AngVel,
IniRadVel=RadVel,endtime=365,
M,G,GM,KEPeq1,KEPeq2,r,theta,t,mytime=time},
IniDis=Dis;
IniAngVel=AngVel;
IniRadVel=RadVel;
endtime=365;
M=5.97*10^24;
G=6.67*10^-11;
GM=G*M*10^-9*(1/86400)^2;
KEPeq1=r''[t]-r'[t]*(theta'[t])^2==-GM/(r[t])^2;
KEPeq2=r[t]*theta''[t]+2*r'[t]*theta'[t]==0;
{r[t_],theta[t_]}={r[t],theta[t]}/.
NDSolve[{KEPeq1,KEPeq2,r[0]==IniDis,
theta[0]==0,r'[0]==IniRadVel,theta'[0]==IniAngVel},
{r[t],theta[t]},{t,0,endtime}][[1]];
ParametricPlot[{r[t]*Sin[theta[t]],r[t]*Cos[theta[t]]},{t,0,
mytime},
Axes->False,PlotRange->myrange,Background->Black,
Epilog->{Inset[earth,{0,0},Automatic,100000],
PointSize[0.0125],Red,
Point@{r[mytime]*Sin[theta[mytime]],
r[mytime]*Cos[theta[mytime]]},
PointSize[0.0025],White,stars}]
]
Manipulate[f[x, y, z, t],
{{x, 90000, "初始距離"}, 90000, 200000},
{{y, 0.5, "初始角速度"}, 0, 1},
{{z, 1, "初始徑向速度"}, 1, 10000},
{{t, 0.01, "時間"}, 0.01, 365}]
Mathematica的demonstration project網站裡有各式各樣的動畫
有興趣的話可以參考下列網址
http://tinyurl.com/d4crmdl
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.232.182.186
推
12/16 15:13, , 1F
12/16 15:13, 1F
→
12/16 15:13, , 2F
12/16 15:13, 2F
→
12/16 15:14, , 3F
12/16 15:14, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章