アプリ版:「スタンプのみでお礼する」機能のリリースについて

連星や多重連星の軌道を計算し、その座標を出力するプログラムを大至急作成しなければいけない事になったのですが、当方は天文学に関しては完全に専門外なものでどのような計算をしてよいものなのかよく分かりません。もしよろしければ数式や計算方法をお教え頂けないでしょうか。

作成しなければいけないプログラムは、
・連星の数が2~9個程度まで選択可能であること
・それぞれの星について質量、初期位置(X,Y,Z座標)、進行方向、初速度等について任意の数値を入力でき、それに基づいて軌道を計算すること
・最終的な計算結果は、星のそれぞれの軌道を結ぶ座標点X,Y,Zを連続して出力すること。つまり、
#星1の軌道
20 0 0,
19 6 0,
16 12 0,
12 16 0,
6 19 0,
0 20 0,
#星2の軌道
-6 19 0,
-12 16 0,
-16 12 0,
-19 6 0,
-20 0 0,
のような形式で出力すること。だそうです。
万有引力の法則やケプラーの法則が必要らしいという事までは分かったのですが、具体的な数式をどうしたらよいのかが全く分からない状況です。
ヒントや必要な公式、分かるところだけでも教えて頂ければ大変幸いでございます。

A 回答 (2件)

二連星の場合は軌道は二次曲線になります。


しかし、三つのときは三体問題といって、ニュートンの時代から問題にされていますが、いまだに未解決です。四つ以上のときも同様です。つまり、三つ以上のときには軌道を求めることはできません。
ではどうすればよいかと言うと、万有引力の法則から、満たすべき連立微分方程式ができます。
これをルンゲクッタ法などで数値的に解くと、近似解が得られます。
得られた近似解が本当の軌道を近似しているかどうかの数学的な保障はありませんが、今のところこうするしかないと思います。
微分方程式を数値的に解くプログラムについては解説書が多数出版されていますから、それをお読みください。

この回答への補足

ありがとうございます。
現在、万有引力の法則からどのような連立微分方程式を作ったらよいのかが分からない状況です。
微分方程式の本を読むなどして調べてみます…

補足日時:2004/11/05 21:59
    • good
    • 0

一応、基礎方程式はこれです。


http://grape.c.u-tokyo.ac.jp/pub/people/makino/k …
で、これを、ルンゲクッタなり、シンプレクティック法なりを使って
解けばいいのです。
http://jun.artcompsci.org/~makino/papers/bussei- …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!