(57)【特許請求の範囲】
【請求項１】
質量が全て等しい３つの天体がそれぞれ静止した初期位置からこれらの天体相互の重力の作用下で生じる運動をシミュレートするための重力３体接近シミュレータであって、
各天体の初期位置を指定する入力部と、
シミュレーションプログラムが格納されている外部記憶装置と、
ＣＰＵとＲＡＭから構成され、前記ＣＰＵとＲＡＭとの協働により、前記外部記憶装置から前記ＲＡＭに前記シミュレーションプログラムを読み込んで実行させる演算部と、
前記演算部から出力される結果をモニタ画面上に表示する画像処理部とを備え、
前記シミュレーションプログラムは、
前記入力部によって指定された各天体の初期位置を前記ＲＡＭに記憶させる第１のステップと、
時刻（ｔ）及び接近回数（ｃ）をともに０に設定して初期値として前記ＲＡＭに記憶させる第２のステップと、
時刻（ｔ）を離散化された微少時間（Δｔ）経過した値（ｔ＋Δｔ）に更新して前記ＲＡＭに記憶させる第３のステップと、
前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度を運動方程式に基づいて算出して前記ＲＡＭに記憶させる第４のステップと、
前記微少時間（Δｔ）経過前の時刻（ｔ）における各天体の位置と速度に基づいて、３つの天体が所定の接近条件を満たしているか否かを判定する第５のステップと、
第５のステップで前記接近条件を満たしていないと判定した場合、前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度に基づいて、３つの天体が前記接近条件を満たしているか否かをさらに判定する第６のステップと、
第６のステップで前記接近条件を満たしていると判定した場合、接近回数（ｃ）を１つ増加させた値（ｃ＋１）に更新して前記ＲＡＭに記憶させる第７のステップと、
第５のステップで前記接近条件を満たしていると判定した場合、もしくは、第５のステップならびに第６のステップの何れにおいても前記接近条件を満たしていないと判定した場合、もしくは、第７のステップの実行後において、第４のステップで算出された各天体の位置を前記ＲＡＭから画像処理部に出力してモニタ画面上に表示させる第８のステップと、
３つの天体のうちの何れかの天体が所定のエスケープ判定条件を満たしているか否かを判定し、何れの天体も満たしていない場合には第３のステップ以降を再実行する第９のステップと、
第９のステップにおいて、何れかの天体が前記エスケープ判定条件を満たしていると判定した場合、前記ＲＡＭに記憶されている現在までの接近回数（ｃ）と前記エスケープ判定条件を満たした天体とを画像処理部に出力してモニタ画面上に表示させる第１０のステップとを有することを特徴とする重力３体接近シミュレータ。
【請求項２】
質量が全て等しい３つの天体がそれぞれ静止した初期位置からこれらの天体相互の重力の作用下で生じる運動をシミュレートするための重力３体接近シミュレータであって、
シミュレーションプログラムが格納されている外部記憶装置と、
ＣＰＵとＲＡＭから構成され、前記ＣＰＵとＲＡＭとの協働により、前記外部記憶装置から前記ＲＡＭに前記シミュレーションプログラムを読み込んで実行させる演算部と、
前記演算部から出力される結果をモニタ画面上に表示する画像処理部とを備え、
前記シミュレーションプログラムは、
３つの天体のうち、第１の天体と第２の天体の初期位置をそれぞれｘｙ平面内のｘ軸上の座標値（０．５，０）、（−０．５，０）に指定し、第３の天体の初期位置を前記ｘｙ平面内の第１象限内で、且つ、座標値（−０．５，０）の点を中心とした半径１の円弧の内側の領域に含まれる所定の範囲内の座標値に指定してこれらの各天体の初期位置を前記ＲＡＭに記憶させる第１のステップと、
時刻（ｔ）及び接近回数（ｃ）をともに０に設定して初期値として前記ＲＡＭに記憶させる第２のステップと、
時刻（ｔ）を離散化された微少時間（Δｔ）経過した値（ｔ＋Δｔ）に更新して前記ＲＡＭに記憶させる第３のステップと、
前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度を運動方程式に基づいて算出して前記ＲＡＭに記憶させる第４のステップと、
前記微少時間（Δｔ）経過前の時刻（ｔ）における各天体の位置と速度に基づいて、３つの天体が所定の接近条件を満たしているか否かを判定する第５のステップと、
第５のステップで前記接近条件が満たされていないと判定した場合、前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度に基づいて、３つの天体が前記接近条件を満たしているか否かをさらに判定する第６のステップと、
第６のステップで前記接近条件が満たされていると判定した場合、接近回数（ｃ）を１つ増加させた値（ｃ＋１）に更新して前記ＲＡＭに記憶させる第７のステップと、
第５のステップで前記接近条件が満たされていると判定した場合、もしくは、第５のステップならびに第６のステップの何れにおいても前記接近条件を満たしていないと判定した場合、もしくは、第７のステップの実行後において、３つの天体のうちの何れかの天体が所定のエスケープ判定条件を満たしているか否かを判定し、何れの天体も満たしていない場合には前記第３のステップ以降を再実行する第８のステップと、
第８のステップにおいて、何れかの天体が前記エスケープ判定条件を満たしていると判定した場合、第３の天体の初期位置を前記ＲＡＭに記憶されている現在までの接近回数（ｃ）に対応させた色でモニタ画面上にプロットするように画像処理部に指示する第９のステップと、
前記所定の範囲内で、離散化された微少量単位で分割された全ての位置が既に指定済みか否かを判定し、未指定の位置が存在する場合には未指定位置を前記第３の天体の初期位置として新たに指定して前記ＲＡＭに記憶させた後、第２のステップ以降を再実行させ、前記範囲内の全ての位置が指定済みとなっている場合には処理を終了させる第１０のステップとを有することを特徴とする重力３体接近シミュレータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主に、重力の作用下における、天体や銀河系等の接近や衝突の挙動を研究するために利用されるシミュレータに関し、特に、３つの天体が互いの重力の作用によって接近、あるいは、衝突する現象を解析するシミュレータに関する。
【０００２】
【従来の技術】
例えば、互いに接近する複数の銀河系どうしのように、重力を及ぼし合う３つ以上の天体の運動は、各天体の位置関係や速度、相互の質量の大小関係等によって非常に複雑な動きをするため、力学的な解析が非常に困難であり、そのため、天体の数を３つに限定し、さらに初期条件等に限定を付加した上で、３体問題としての研究がなされてきた。
【０００３】
【発明が解決しようとする課題】
このような、従来より行われている３体問題の研究は、主に数式を用いた解析力学的な研究がなされているため、３つの銀河系が接近する場合のような天体間相互の運動の様子を直感的、あるいは視覚的に把握することができない問題があった。
【０００４】
そこで、本発明は、前述した問題を解消し、重力の作用によって接近する３つの天体どうしの運動の様子を容易にモニタ画面で見ることのできる重力３体接近シミュレータを提供することを目的とする。
【０００５】
【課題を解決するための手段】
前記目的を達成するために提供される、本発明の重力３体接近シミュレータの第１のものは、質量が全て等しい３つの天体がそれぞれ静止した初期位置からこれらの天体相互の重力の作用下で生じる運動をシミュレートするための重力３体接近シミュレータであって、各天体の初期位置を指定する入力部と、シミュレーションプログラムが格納されている外部記憶装置と、ＣＰＵとＲＡＭから構成され、前記ＣＰＵとＲＡＭとの協働により、前記外部記憶装置から前記ＲＡＭに前記シミュレーションプログラムを読み込んで実行させる演算部と、前記演算部から出力される結果をモニタ画面上に表示する画像処理部とを備え、前記シミュレーションプログラムは、前記入力部によって指定された各天体の初期位置を前記ＲＡＭに記憶させる第１のステップと、時刻（ｔ）及び接近回数（ｃ）をともに０に設定して初期値として前記ＲＡＭに記憶させる第２のステップと、時刻（ｔ）を離散化された微少時間（Δｔ）経過した値（ｔ＋Δｔ）に更新して前記ＲＡＭに記憶させる第３のステップと、前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度を運動方程式に基づいて算出して前記ＲＡＭに記憶させる第４のステップと、前記微少時間（Δｔ）経過前の時刻（ｔ）における各天体の位置と速度に基づいて、３つの天体が所定の接近条件を満たしているか否かを判定する第５のステップと、第５のステップで前記接近条件を満たしていないと判定した場合、前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度に基づいて、３つの天体が前記接近条件を満たしているか否かをさらに判定する第６のステップと、第６のステップで前記接近条件を満たしていると判定した場合、接近回数（ｃ）を１つ増加させた値（ｃ＋１）に更新して前記ＲＡＭに記憶させる第７のステップと、第５のステップで前記接近条件を満たしていると判定した場合、もしくは、第５のステップならびに第６のステップの何れにおいても前記接近条件を満たしていないと判定した場合、もしくは、第７のステップの実行後において、第４のステップで算出された各天体の位置を前記ＲＡＭから画像処理部に出力してモニタ画面上に表示させる第８のステップと、３つの天体のうちの何れかの天体が所定のエスケープ判定条件を満たしているか否かを判定し、何れの天体も満たしていない場合には第３のステップ以降を再実行する第９のステップと、第９のステップにおいて、何れかの天体が前記エスケープ判定条件を満たしていると判定した場合、前記ＲＡＭに記憶されている現在までの接近回数（ｃ）と前記エスケープ判定条件を満たした天体とを画像処理部に出力してモニタ画面上に表示させる第１０のステップとを有している。
【０００６】
本発明の重力３体接近シミュレータの第２のものは、質量が全て等しい３つの天体がそれぞれ静止した初期位置からこれらの天体相互の重力の作用下で生じる運動をシミュレートするための重力３体接近シミュレータであって、シミュレーションプログラムが格納されている外部記憶装置と、ＣＰＵとＲＡＭから構成され、前記ＣＰＵとＲＡＭとの協働により、前記外部記憶装置から前記ＲＡＭに前記シミュレーションプログラムを読み込んで実行させる演算部と、前記演算部から出力される結果をモニタ画面上に表示する画像処理部とを備え、前記シミュレーションプログラムは、３つの天体のうち、第１の天体と第２の天体の初期位置をそれぞれｘｙ平面内のｘ軸上の座標値（０．５，０）、（−０．５，０）に指定し、第３の天体の初期位置を前記ｘｙ平面内の第１象限内で、且つ、座標値（−０．５，０）の点を中心とした半径１の円弧の内側の領域に含まれる所定の範囲内の座標値に指定してこれらの各天体の初期位置を前記ＲＡＭに記憶させる第１のステップと、時刻（ｔ）及び接近回数（ｃ）をともに０に設定して初期値として前記ＲＡＭに記憶させる第２のステップと、時刻（ｔ）を離散化された微少時間（Δｔ）経過した値（ｔ＋Δｔ）に更新して前記ＲＡＭに記憶させる第３のステップと、前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度を運動方程式に基づいて算出して前記ＲＡＭに記憶させる第４のステップと、前記微少時間（Δｔ）経過前の時刻（ｔ）における各天体の位置と速度に基づいて、３つの天体が所定の接近条件を満たしているか否かを判定する第５のステップと、第５のステップで前記接近条件が満たされていないと判定した場合、前記微少時間（Δｔ）経過後の時刻（ｔ＋Δｔ）における各天体の位置と速度に基づいて、３つの天体が前記接近条件を満たしているか否かをさらに判定する第６のステップと、第６のステップで前記接近条件が満たされていると判定した場合、接近回数（ｃ）を１つ増加させた値（ｃ＋１）に更新して前記ＲＡＭに記憶させる第７のステップと、第５のステップで前記接近条件が満たされていると判定した場合、もしくは、第５のステップならびに第６のステップの何れにおいても前記接近条件を満たしていないと判定した場合、もしくは、第７のステップの実行後において、３つの天体のうちの何れかの天体が所定のエスケープ判定条件を満たしているか否かを判定し、何れの天体も満たしていない場合には前記第３のステップ以降を再実行する第８のステップと、第８のステップにおいて、何れかの天体が前記エスケープ判定条件を満たしていると判定した場合、第３の天体の初期位置を前記ＲＡＭに記憶されている現在までの接近回数（ｃ）に対応させた色でモニタ画面上にプロットするように画像処理部に指示する第９のステップと、前記所定の範囲内で、離散化された微少量単位で分割された全ての位置が既に指定済みか否かを判定し、未指定の位置が存在する場合には未指定位置を前記第３の天体の初期位置として新たに指定して前記ＲＡＭに記憶させた後、第２のステップ以降を再実行させ、前記範囲内の全ての位置が指定済みとなっている場合には処理を終了させる第１０のステップとを有している。
【０００７】
【発明の実施の形態】
図１は、本発明の重力３体接近シミュレータの１実施形態を示すシステム構成図であって、重力３体接近シミュレータ（以下、単にシミュレータという。）１は、天体運動のシミュレーション用のプログラムが組み込まれたコンピュータで構成されており、ＣＰＵ（central processing unit）２、ＲＯＭ（read only memory)３、ＲＡＭ（random access memory）４、外部記憶装置５、音声処理部６、画像処理部７がシステムバス８によって相互に連結されている。
【０００８】
音声処理部６からは、音声信号が外部スピーカ９に出力されるようになっており、また、画像処理部７からは、ＣＲＴ（Cathode Ray Tube)やＬＣＤ（Liquid Crystal Dispray)等のモニタ１０に映像信号が出力されるようになっている。
また、システムバス８には、入力インターフェース１１を介して入力部としてのキーボード１２及びマウス１３が接続されている。
【０００９】
外部記憶装置５は、ハードディスクやＣＤＲＯＭ、フレキシブルディスク等の記録媒体によって構成されており、ここには、シミュレータ１を動作させるために必要なオペレーティングシステムプログラムやシミュレーションプログラムが格納されている。
【００１０】
また、ＲＯＭ３には、ＢＩＯＳ（Basic Input Output System）プログラムが格納されており、シミュレータ１の電源が入れられると、ＣＰＵ２はＢＩＯＳプログラムを実行して外部記憶装置５に格納されているオペレーティングシステムを立ち上げ、さらに、シミュレーションプログラムを起動する。
【００１１】
入力インターフェース１１に接続されているキーボード１２とマウス１３は、主に３つの天体運動のシミュレーションを行うために、これらの天体の初期位置を指定したり、これに関連する諸操作を行うために用いられる。
【００１２】
次に、前述したように構成されているシミュレータ１の機能と操作方法について説明する。本実施形態のシミュレータ１は、軌道表示モードと大域表示モードの２つのモードで使用できる機能を備えている。
【００１３】
軌道表示モードでは、３つの天体の初期位置をそれぞれ指定してシミュレーションプログラムを実行すると、これらの３つの天体が相互に作用する重力の影響で衝突したり、接近したのち離散していく様子をモニタ１０の画面上にアニメーションのように表示させることができる。
【００１４】
以下、軌道表示モードについて図２に示すフローに従って説明する。シミュレータ１を起動し、キーボード１２またはマウス１３を操作して軌道表示モードに入ると、入力待ちの状態となる。
【００１５】
ここでは、マウス１３を用い、モニタ１０の画面に表示されているマウスポインタを画面上の所望の位置へ移動して第１番目の天体の初期位置を指定する。続いて第２番目、第３番目の天体の各初期位置を順次指定し、このようにして３つの天体全ての初期位置を入力する（ステップＳ１）。
【００１６】
なお、本発明のシミュレータ１においては、各天体の質量は全て等しく、また、初期状態では、空間（慣性系）に対して静止しているものとしており、モニタ１０の画面上ではこれらの天体は点として模式化して表示されるようになっている。
【００１７】
ここで、シミュレータ１は、時刻ｔの値、及び、天体どうしの接近回数ｃの値を、それぞれ初期値としてｔ＝０、ｃ＝０を設定し（ステップＳ２）、さらに、次のステップＳ３で、時刻ｔの値を離散化された微少な時間Δｔ経過後の時刻ｔ＋Δｔに置き換えた後、３つの天体どうしの間の重力の作用下における運動方程式から、それぞれの天体の位置と速度を演算する（ステップＳ４）。
【００１８】
なお、本実施形態のシミュレータ１においては、ＣＰＵ２とＲＡＭ４が本発明における演算部を構成しており、ＲＡＭ４に読み込まれたシミュレーションプログラムをＣＰＵ２で実行することによって前記演算を行っている。
【００１９】
また、ここで、天体どうしの接近回数とは、３つの天体どうしが後述する接近条件を満たすように何回か接近してから何れかの天体が飛び去る（エスケープする）までの回数を意味している。
【００２０】
次いで、シミュレータ１は、前記微少な時間Δｔ増加前の時刻ｔ（初期においては、ｔ＝０）で３つの天体が接近条件を満たしているか否かを判定する（ステップＳ５）。
【００２１】
接近条件を満たしているか否かは、本実施形態においては、下記の数１及び数２に基づいて判定しており、数１と数２の何れか一方が成立する場合に、３つの天体が接近しているものと判定する。
【数１】
0004174584.tif 000002
【数２】
0004174584.tif 000003
【００２２】
ここで、Ｉ（ｔ）は、３つの天体全体の重心位置に関する各天体の慣性モーメントの総和であり、また、Ｉ０ は、下記の数３で定義される量である。
【数３】
0004174584.tif 000004
但し、ρは、３つの天体の中で最も近く隣り合う２天体間の重心位置と、他の一つの天体位置との距離であって、ρ０、 Ｍ、Ｍ＊ はそれぞれ、下記の数４、数５に示すものある。
【００２３】
【数４】
0004174584.tif 000005
【数５】
0004174584.tif 000006
ここで、ｍ１、ｍ２、ｍ３は各天体の質量であり、本発明のシミュレータ１においては、３つの天体として同規模の銀河系のようなものを想定しているため、これらの質量は全て等しいものとしている。
【００２４】
また、ｈ＝Ｔ−Ｕで系の全エネルギを表しており、Ｔは運動エネルギ、Ｕは下記の数６で示す重力ポテンシャルエネルギ（負値）である。
【数６】
0004174584.tif 000007
ただし、ここでは、重力定数を１とした単位系によって計算を行うようにしている。また、ｒ１２は質量ｍ１と質量ｍ２の重心位置間の距離、ｒ２３は質量ｍ２と質量ｍ３の重心位置間の距離、ｒ３１は質量ｍ３と質量ｍ１の重心位置間の距離をそれぞれ表している。
この系においては、次の数７に示すラグランジュ−ヤコビの方程式が成立し、数７は、数２の第１式が成立するか否かの判定に用いられる。
【数７】
0004174584.tif 000008
【００２５】
シミュレータ１は、ステップＳ５で３つの天体について前述した数１と数２の何れかで表される接近条件が満たされていると判定した場合には、そのままステップＳ８へ処理を移し、ここで、時刻ｔ＋Δｔにおける３つの天体の位置をそれぞれ図１に示す画像処理部７を介してモニタ１０の表示画面にプロットする。
【００２６】
一方、シミュレータ１は、ステップＳ５で、接近条件が満たされていないと判定した場合、次のステップＳ６の処理を実行し、ここで、時刻ｔ＋Δｔにおける、３つの天体の接近判定をステップＳ５と同様にして再度実行する。
【００２７】
そして、ステップＳ６において、接近条件を満たしていると判定した場合には、シミュレータ１は、ステップＳ７で接近回数ｃの値をｃ＋１に置き換えた後、ステップＳ８の処理へ移行し、一方、接近条件が満たされていない場合にはそのままステップＳ８の処理へ移行し、ここで、時刻ｔ＋Δｔにおける３つの天体の位置をそれぞれ、画像処理部７を介してモニタ１０の表示画面にプロットする。
【００２８】
なお、シミュレータ１が行っているこれらの一連のステップの処理は、具体的には、ＣＰＵ２とＲＡＭ４で構成される演算部において実行されるシミュレーションプログラムが行っている。
【００２９】
ステップＳ８の処理が完了すると、次のステップＳ９では、３つの天体の何れかがエスケープの判定条件を満たしているか否かを判定する。ここで、エスケープとは、３つの天体の何れかが、今後残りの天体から離れ去ってしまうことを意味しており、その判定条件としては、例えば１９７２年に発表されたYoshidaの方法（Yoshida.,J.,1972;Improved criteria for hyperbolic-elliptic motion in the general three-body ploblem,Publ.Astron.Soc.Japan,24,391-408.）を用いることができる。
【００３０】
ここで、３つの何れの天体もエスケープの判定条件を満たしていないと判定された場合には、再びステップＳ３以降の処理が繰り返し実行され、さらに、微少時間Δｔ経過後の各天体の位置と速度が演算され、ステップＳ８の処理が実行される際に、モニタ１０の表示画面にはこれらの天体の新たな位置がプロットされる。
【００３１】
ここで、ステップＳ９の判定を行う判定条件は、シミュレーションプログラムの一部に含まれている。
【００３２】
この一連の処理は、ステップＳ９で３つの何れかの天体がエスケープの判定条件を満たすまで繰り返され、モニタ１０の表示画面には、各天体の新たな位置が順次プロットされてそれぞれの運動軌跡が描かれる。
【００３３】
また、本実施形態では、３つの天体の軌跡は、それぞれ赤、緑、青に色分けして表示しており、ステップＳ９において、何れかの天体がエスケープの判定条件を満たした場合には、ステップＳ７でカウントした接近回数ｃと、エスケープして飛び出した天体を、例えば、「４回接近した後、赤が飛び出しました。」というようなメッセージによってモニタ１０の画面に表示する（ステップＳ１０）。
【００３４】
なお、同時にこのようなメッセージを音声処理プログラムで人の声に変換して図１に示す音声処理部６へ出力し、スピーカ８から通知するようにしてもよい。
以上の処理が完了すると、表示画面は、３つの天体の新たな初期位置を再指定するか終了するかを選択する画面に切り替え可能になり、シミュレータ１は入力待ちの状態になる（ステップＳ１１）。
【００３５】
ここで、３つの天体を初期位置を再指定する選択をすると、再びそれぞれの天体の新たな初期位置を入力可能な状態になり、ここで各天体の初期位置を指定すると再び前述したステップＳ１以降の処理が順に実行される。一方、ステップＳ１１において、処理を終了する選択をすると、軌道表示モードの処理はここで終了となる。
【００３６】
なお、シミュレータ１は、前述した軌道表示モードにおいて、各天体の位置をモニタ１０の表示画面に表示する際に、各天体の位置を時々刻々新たな位置に移動させて表示させるか、或いは、各天体の運動の軌跡を残して表示させるかの何れかを選択できる機能を備えていることが望ましい。
【００３７】
図３は、軌道表示モードにおけるモニタ１０の表示画面の一例を示す図であって、同図においては、各天体の軌跡をそれぞれ実線、一点鎖線、破線で表示しているが、実際は、これらは赤、青、緑に色分けして画面上に描画されており、同図においては、青い天体がエスケープした時点で処理が終了し、画面上には、「青が飛び出しました。」と表示されている。
【００３８】
次に、シミュレータ１のもう一つのモードである大域表示モードについて、図４に示すフローに基づいて説明する。大域表示モードは、３つの天体の種々の初期の位置関係に対する、何れかの天体がエスケープするまでの３つの天体どうしの接近回数を大域的に表示するモードであって、前述した軌跡表示モードと同様に、３つの天体の質量は全て等しく、これらの天体が、慣性系としての空間に対して静止している状態を初期条件として、ここから互いに重力の作用によって開始される天体の運動を取り扱う。
【００３９】
このモードにおいては、シミュレーションプログラムが起動されると、シミュレータ１は、図４のステップＳ１で静止した３つの天体の初期位置を指定する。  なお、本実施形態においては、各天体の初期の位置関係は、３つの天体の中心位置を頂点とする３角形によって指定している。
【００４０】
すなわち、図５に示すように、３つの天体のうち、２つの天体ｍ２、ｍ３を間の距離が１となるようにｘｙ平面内のｘ軸上の座標値（０．５，０）、（−０．５，０）にそれぞれ配置し、残る一つの天体ｍ１をｘｙ平面内の第１象限内で、且つ、座標値（−０．５，０）の点を中心とした半径１の円弧Ａの内側の領域Ｄ内の座標値（ｘ，ｙ）の点Ｐに指定する。
【００４１】
この領域Ｄ内で点Ｐの位置を様々に変えて得られる３角形の群は、これをｘｙ平面内で回転あるいは鏡像反転することにより、ｘｙ平面内における任意の３つの天体位置を頂点として形成される全ての３角形と相似形状になり、３つの天体の初期の位置関係のパターンは、この領域Ｄ内で点Ｐの位置を様々に指定すれば対称性により全てが網羅できる。
【００４２】
なお、本実施形態のシミュレータ１においては、大域モードのシミュレーションを開始する際に、点Ｐの位置を変えられる範囲を領域Ｄ内に含まれる範囲において任意に設定できるようにしている。
【００４３】
図４のステップＳ１における最初の点Ｐの座標の指定は、例えば、初期値をｘ＝０、ｙ＝０に指定する。次のステップＳ２では、シミュレータ１は、この点Ｐによって決定される各天体の初期の位置関係に対して、３つの天体どうしが重力の作用によって引き合い、何回か接近した後、何れかの天体がエスケープしてしまうまでの接近の回数を算出するサブルーチンプログラムを実行する。
【００４４】
図６は、前記サブルーチンプログラムの処理フローを示すものであって、シミュレータ１においてこのサブルーチンプログラムが開始されると、先ず時刻ｔと接近回数ｃがｔ＝０，ｃ＝０にリセットされる（ステップＳ１１）。
【００４５】
次に、シミュレータ１は、ステップＳ１２で、時刻ｔの値を離散化された微少な時間Δｔ経過後の時刻ｔ＋Δｔに置き換えた後、３つの天体どうしの間の重力の作用下における運動方程式から、それぞれの天体の位置と速度を演算する（ステップＳ１３）。
【００４６】
次いで、シミュレータ１は、前記微少な時間Δｔの増加前の時刻ｔ（初期においては、ｔ＝０）で３つの天体が接近条件を満たしているか否かを判定する（ステップＳ１４）。
【００４７】
シミュレータ１は、ステップＳ１４において、３つの天体について先に述べた数１と数２の何れかで表される接近条件が満たされていると判定した場合には、そのままステップＳ１７の処理を行う。
【００４８】
一方、ステップＳ１４で、接近条件が満たされていないと判定された場合には、次のステップＳ１５の処理へ移行し、ここで、時刻ｔ＋Δｔにおける、３つの天体の接近判定をステップＳ１４と同様にして再度実行する。
【００４９】
そして、シミュレータ１は、ステップＳ１５において、接近条件を満たしていると判定した場合には、ステップＳ１６で接近回数ｃの値をｃ＋１に置き換えた後、ステップＳ１７の処理へ移行し、一方、接近条件が満たされていない場合にはそのままステップＳ１７の処理を行う。
【００５０】
ステップＳ１７では、前述した軌道表示モードにおける図２のステップＳ９と同様にして、３つの天体の何れかがエスケープの判定条件を満たしているか否かが判定される。
【００５１】
ここで、シミュレータ１が何れの天体もエスケープの判定条件を満たしていないと判定した場合には、再びステップＳ１２からステップＳ１７に至る処理が繰り返される。
【００５２】
以上の処理は、ステップＳ１７において、３つの天体の何れかがエスケープの判定条件を満たしていると判定されるまで繰り返され、エスケープの判定条件が満たされた時点で、ステップＳ１７から図４のステップＳ３の前に処理が戻される。
【００５３】
図４におけるステップＳ３の処理が行われると、点Ｐの初期座標値（ｘ，ｙ）に対応するモニタ１０の表示画面上の位置に、何れかの天体がエスケープするまでの３つの天体どうしの接近回数ｃに応じて色分けされた点がプロットされる。
【００５４】
次にシミュレータ１は、ステップＳ４において、離散化した微少量Δｘ、Δｙ単位で分割された選択範囲内の全ての位置が既に指定済みか否かを判定し、まだ指定されていない位置があるときは、ステップＳ５へ移行してここで未指定位置を点Ｐの新たな初期位置として再指定した後、再びステップＳ２以降の処理を繰り返す。
【００５５】
こうして、選択した範囲の全ての位置が指定されるまでステップＳ５、ステップＳ２、ステップＳ３の処理が繰り返し行われて、モニタ１０の表示画面上に新たな点が接近回数に応じた色でプロットされていく。
【００５６】
図５に示す領域Ｄ内の全ての位置が指定されると処理は終了する。図７は、大域表示モードにおいて、シミュレータ１のモニタ１０に表示されたパターンの一例を示すものであり、同図で縞のように連続しているそれぞれの部分は、３つの天体が接近する回数が同じである領域を示している。なお、これらの縞は実際には接近回数に応じて色分け表示されている。また、図７においては、図５の円弧Ａの外側にある部分に点Ｐが位置する場合についても一部表示してある。
【００５７】
また、本実施形態においては、シミュレータ１は、点Ｐがｘｙ平面内で取り得る座標値の範囲を狭めることによって、モニタ１０の画面上に領域Ｄ内の一部を拡大して表示することができ、この場合、増分Δｘ、Δｙの値を小さく設定して演算することにより、画像拡大時の解像度を高められるようにしている。
【００５８】
前述したように、本実施形態におけるシミュレータ１は、シミュレーションプログラムが動作するコンピュータで構成されており、軌道表示モードと大域表示モードの両方の表示モードを選択して実行できるようになっている。
【００５９】
しかしながら、シミュレータ１は、軌道表示モード、または、大域表示モードの何れかの機能のみを実行できるように構成してもよい。
【００６０】
【発明の効果】
以上に説明したように、請求項１に記載した発明によれば、表示画面上に３つの天体の初期位置を指定することにより、これらの天体間に作用する重力によって生じる各天体の時間とともに変化する位置が計算され、各天体が接近、あるいは、衝突して離れていく種々の３体運動のパターンをモニタ画面に表示できるため、３つの天体どうしの接近接近したときの３者の動きのパターンを視覚的に観察して容易に把握することができる。
【００６１】
また、請求項２に記載した発明によれば、当初、所定の位置関係をもって静止していた３つの天体どうしが互いの重力の作用の下で自由落下状態で接近し、その後何れかの天体が離脱するまでの接近回数と、３つの天体の初期位置との関係を、接近回数で色分けして表示することができ、様々な初期位置から自由落下状態で互いに接近する３つの天体の挙動を大域的に把握することができる。
【図面の簡単な説明】
【図１】  本発明の重力３体接近シミュレータの１実施形態におけるシステム構成図である。
【図２】  本発明の重力３体接近シミュレータの軌道表示モードにおける動作フローを示す図である。
【図３】  軌道表示モードにおけるモニタの表示画面の一例を示す図である。
【図４】  本発明の重力３体接近シミュレータの大域表示モードにおける動作フローを示す図である。
【図５】  大域表示モードにおける、天体の初期位置の指定方法を示す図である。
【図６】  本発明の重力３体接近シミュレータの大域表示モードにおけるサブルーチンフローを示す図である。
【図７】  大域表示モードにおけるモニタの表示画面の一例を示す図である、
【符号の説明】
１    重力３体接近シミュレータ
２    ＣＰＵ
３    ＲＯＭ
４    ＲＡＭ
５    外部記憶装置
６    音声処理部
７    画像処理部
８    システムバス
９    スピーカ
１０    モニタ
１１    入力インターフェイス
１２    キーボード
１３    マウス
【図１】
0004174584.tif 000009
【図２】
0004174584.tif 000010
【図３】
0004174584.tif 000011
【図４】
0004174584.tif 000012
【図５】
0004174584.tif 000013
【図６】
0004174584.tif 000014
【図７】
0004174584.tif 000015