万有引力シミュレーターの作成
２年Ｂ組 稲益 秀成
指導教諭 米田 隆恒
１．要約
顧問の先生に、宇宙探査機は惑星の万有引力を利用し、進む方向や速度を変化させるスイングバイという技術を使うということを聞き、そこから万有引力について興味をもち、万有引力シミュレーターを作成することにした。
今回は、万有引力シミュレーターの第一段階として２つの物体を万有引力によって移動させるシミュレーターを Java 言語で作成した。そして、スイングバイを再現することに成功したので報告する。
キーワード

Java、万有引力、スイングバイ、シミュレーション

２．研究の背景と目的
スイングバイとは、惑星の万有引力を利離や物体の速度の変化がどのように変化するかを調べることができる。

用することにより宇宙探査機の進む方向、速さを変更する技術のことである。宇宙探＜加速度の計算方法＞

査機は、惑星に近づくと惑星の重力により物体(大)の質量、位置、速度、加速度を加速する。そして惑星に最も近づいたとき

m1, p1(p1x、p1y), v1(v1x、v1y), a1(a1x、a1y)，物に速さが最大になり、宇宙探査機が惑星か体(小)の質量、位置、速度、加速度を、m2,ら離れていくときは減速する。そのとき、

p2(p2x、p2y), v2(v2x、v2y), a2(a2x、a2y)とする。

惑星は公転しているため、結果的に宇宙探また、２物体間の距離をr とし、万有引力

査機は燃料をあまり使うことなく加速また定数 G は、次の値とする。

は減速し、方向も変化する。

G = 6.67259 ×10−11[Nm2 /kg 2 ]このようなスイングバイをより深く理解したいと思い、万有引力シミュレーターを２物体間の万有引力 F は、作成することにした。

３．研究内容F =G

m1 ⋅ m2r2で与えられ、物体(小)の加速度 a2 は、m2 a2 = G

今回作成したプログラムは、２つの物体が宇宙空間で万有引力のみで運動する様子をシミュレーションするものである。これ
により、物体の質量、初期座標、初速度を変更したとき、物体の動き、２物体間の距

m1 ⋅ m2r2より、

a2 = Gm1r2で求めることができる。

４．考察
今回作成した万有引力シミュレーターで＜プログラムの流れ＞は、（１）～（７）のことがわかった。

①初期条件の設定（１）物体(大)の質量が小さい場合と大きい
2 物体の初期位置と初速度を設定する。
②加速度の計算

m2r2
ma2 = G 21r
a1 = G場合の、2 物体間の距離 r と物体(小)の速さv2 の変化を調べた。初期条件のうち、物体(大)の質量が 100000 の場合と 300000 の場合について、図２および図３を得た。これ
らの場合、物体(大)はほとんど動かない。

③加速度のx成分とy成分 の計算

a1x = a1 ⋅a1 y = a1 ⋅p2 x − p1xr

速p2 y − p1 y・r

距④速度の計算 、dt =1 として、

度

離v1x = v1x + a1 x dt

rv2

v1 y = v1 y + a1 y dt

時間

⑤座標の計算図２ 物体(大)の質量が小の時の場合

p1x = p1x + v1 x dt
p1 y = p1 y + v1 y dt

速⑥物体(小)も同様に③～⑤の計算を行う

度・⑦グラフ処理をし、②へ戻る。

距v2

離r
時間

図３ 物体(大)の質量が大の場合
図２と図３から、物体(大)の質量を増加させると、2 物体間の最小距離 r が小さくなる。
図１ 実行中のスクリーンショット

また、物体(小)の速さ v2 の変化が大きくなるということがわかった。

（２）初期条件のうち、物体(小)の初速度

一方、図５のように、物体(小)の速さが小さい場合と大きい場合を調べた。初速を少し大きくすると、図 4 に比べて、2度の向きは 2 物体を結ぶ線に対して直角で物体間の距離の変化が小さくなる。つまある。その結果、2 物体間の距離 r と、物体り、円軌道に近くなることがわかる。ま(小)の速さ v2 の変化は、図４および図５とた、物体(小)の速さの変化も小さくなる。

なった。

さらに、物体(小)が物体(大)のまわりを回る周期は大きくなっていることがわかる。

速度（３）図４、図５から、２物体間の距・離の変動がなくなった場合、物体(小)の距速さの変化がなくなるのではないかと予

離v2

想できる。

r

実際、図５からさらに物体(小)の速さ時間を少し増加させると、物体(小)の描く軌

図４ 物体(小)の初速度が小の場合道がきれいな円に近くなった。それが図６である。２物体間の距離の変化が小さくなると、確かに、物体(小)の速さの変速化が 0 に近づくことがわかる。

度・
距
離速r

度v2・時間距

図５ 物体(小)の初速度が大の場合

離v2r

これらを比較すると、図４のように物体(小)の初速度 v2 が小さいときは、２物体間の距離 r の変動が大きい。つまり、

時間

図６ 物体(小)が描く軌道が綺麗な円に近い場合楕円軌道である。このとき、距離が小さいときは、物体(小)の速さは大きく、距離（４）物体(大)の初速度が 0 の場合と、0が大きくなると、速さが小さくなること

でない場合に、２物体間の距離 r と物体(小)がわかる。これは、図２から図 10 でもいの速さ v2 の変化の様子を調べた。その結果、えることである。

図７および図８を得た。

10)を比較した。初速度の向きは、2 物体を速結ぶ線に直角である。

度・
距
離速v2度r・時間

距

図７ 物体(大)の初速度が 0 の場合

離rv2時間速

図９ 最初の 2 物体間の距離が大きい度・
距離

rv2

速度
時間

・

図８ 物体(大)の初速度が 0 でない場合

距離

図７と図８から、物体(大)の初速度を増加v2rさせたとき、r に注目すると、２物体間の距離の変動が大きくなることがわかる。つま時間

図 10 最初の 2 物体間の距離が小さい

り、楕円がより長い楕円になり、しかも、最も近づく距離は小さく、最も遠ざかる距

図９と図 10 より、物体(小)の初期位置を離は逆に大きくなっている。また、物体(小)物体(大)に近づけると、物体(小)が物体(大)の速さに注目すると、最短距離の部分で速を一周する時間が短くなることがわかった。

さが極端に変化しており、図７のような対また、物体(小)の速度が大きくなっている。

称的な曲線でなくなっている。
これは、スイングバイに近づいているのではないかと考えられる。

つまり、初速度が同じ場合、半径が大きい軌道ほど、半径が小さい軌道よりも周期は長いといえる。

（５）物体(大)と物体(小)の初速度は同じ（６）今回の万有引力シミュレーターでにして、物体(小)の初期位置を 2 物体間のは、スイングバイをシミュレートすること距離が大きい場合(図９)と、小さい場合(図に成功した。

５．今後の課題
今回作成したプログラムでは、2 物体を万有引力で運動させることができた。

速課題としては、２つより多くの物体の計度算ができるようにし、恒星と惑星と衛星の・v2

距離関係をシミュレートしたい。
次に、現時点では初期条件はプログラムrを変更しないと変更することはできないので、プログラム上で初期条件を変更できる時間

図 11 加速スイングバイのグラフようにしたい。軌跡を描画することもできないので、描画し、保存できるようにしたい。

図 11 のように、物体(小)が物体(大)の進また、図４と図５は初速度を２種類しか行方向と逆の場所で、2 物体間の距離が最試していない。これをいくつもの初速度で短になるようにしたとき、物体(小)は加速さ調べることにより、法則性を見つけたい。

れることがわかった。そして、そのまま初加えて、グラフから r と v2 は逆の動きを期速度より大きい速さを維持していることしていることに気づいた。r と v2 の関係をがわかった。

調べたい。

（７）物体(小)が物体(大)の進行方向側で2 物体間の距離が最短になるようにしたとき、少し加速し、離れていくときに大きく減速し、減速した速さを維持することがわ

６．参考文献[1]「やさしい Java 第二版」
高橋麻奈、風工舎(2000 年)[2]「やさしい Java 第三版」
高橋麻奈、風工舎(2002 年)

かった(図 12)。

[3]万有引力 – Wikipedia
http://ja.wikipedia.org/wiki/万有引力[4]スイングバイ –Wikipedia

速http://ja.wikipedia.org/wiki/スイング度

バイ・v2

距

７．謝辞

離

今回の研究にあたって、サイエンス研究r会顧問の米田先生をはじめ、多くの先生方に多大なご指導をいただきました。また、
時間

図 12 減速スイングバイ

サイエンス研究会の先輩方にも多くのアドバイスをいただきました。