2011-08-12 6 views
7

船に異なる質量の惑星の影響をどのようにシミュレートしますか?惑星の重力

私は小惑星に似たフラッシュゲームを書いています。このゲームでは、小さな惑星が惑星のフィールドを航行しています。惑星はお互いに力を発揮するのではなく、船上だけに力を発揮します。

このJavaシミュレーションのようなものが、大きな惑星で:質量Mの惑星のために

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

+1

あなたが惑星を周回できるように船をお探しですか? – MGZero

+0

はい、惑星の質量にも影響されます。 –

答えて

6

、船からの距離Rで、船は 加速を経験します。

= K M/R^2、

ここで、kは使用しているユニットによって異なる定数です。加速は になります。アクセント をx軸とy軸に沿ってコンポーネントに分解すると便利です(2次元で作業していると仮定して)。 遊星 COS(シータ

Y =

X、船に対してxy平面における角度シータ、である場合 = a sin(theta

複数の惑星の場合は、コンポーネントごとに加速度を加えるだけです。

船が一度T初速V Xがある場合、 での速度は、次の時間ステップT + delta_Tのは次のようになります

V x + a x * delta_t

この船は、時刻tにおける初期位置にP Xある場合、T + delta_Tのの位置 は次のようになります。

P X + V xdelta_t + a Xdelta_Tの^2月2日

参照:Equations of motion

+0

実際、あなたのソリューションに加えて、F =mv²/ rを使用することもできますか? Fをmaに差し込み、vを解く。もちろん、あなたの解が軌道を説明していないと仮定します。 – MGZero

+0

'F = mv^2/r'は一様な円運動の場合のみです。重力場における任意の動きに対して、それは意味をなさない。 – tskuzzy

+1

@MGZero:適切な初期条件、単位、kの選択、十分に小さな時間ステップでは、上の方程式はあなたが軌道をシミュレートするために必要なすべてです。 –

関連する問題