2011-08-12 20 views
7

你會如何模擬船上不同質量的行星的影響?行星的重力

我正在寫一個類似小行星的Flash遊戲,它有一艘小船在行星的領域中航行。行星不會彼此施加力量,而只會在船上施加力量。

像這樣的Java模擬但更大的行星:

http://dan-ball.jp/en/javagame/planet/

+1

您是否正在尋找船能夠繞行的行星? – MGZero

+0

是的,但也受到地球質量的影響。 –

回答

6

對於質量的行星,在從船的距離[R,船將經歷 加速:

一個 = K /ř^2,

其中k是一些常數,取決於您使用的單位。加速將 指向行星。將沿着x和y軸的加速度分解到其組件中可能會很方便(假設您在2維空間中工作)。 如果行星成一角度THETA在xy平面中,相對於船,

一個 X = 一個 COS(THETA

一個ÿ = a sin(theta

對於多個行星,您可以按組件方式添加加速度。

如果船舶具有初始速度v X在時間,則在 速度在下一時間步驟 + delta_t將是:

v x + a x * delta_t

如果該船舶在初始位置p X在時間t,然後在 + delta_t位置 將是:

p X + v xdelta_t + a Xdelta_t ^二分之二

參見:Equations of motion

+0

其實,等一等,難道我們除了你的解決方案之外,用F =mv²/ r?插入ma for F和解決v。這當然假定您的解決方案不佔軌道。 – MGZero

+0

'F = mv^2/r'只適用於均勻的圓周運動。對於引力場中的任意運動,它沒有任何意義。 – tskuzzy

+1

@MGZero:通過適當的初始條件,單位,k的選擇和足夠小的時間步長,上述方程就可以模擬軌道。 –