彗星運動シミュレータ(製作中)

彗星運動シミュレータ(製作中)

彗星の挙動を重力系を使用してシミュレートする。
後でこれを応用してn体問題シミュレータ作る。

概要

物体は重力を受ける。
彗星の質量をm_C、位置をr_C、任意の一位置天体jの質量をm_j、位置をr_jとすると、彗星にかかる力は
F_j=G\frac{m_c m_j}{|{\bf r_C} - {\bf r_j}|^3 }({\bf r_C} - {\bf r_j})
となる。なお、\bf rは三次元量である。
これをn個の天体について行うから、
F=\sum^n_{j=0}F_j
=\sum^n_{j=0}G\frac{m_c m_j}{|{\bf r_C} - {\bf r_j}|^3 }({\bf r_C} - {\bf r_j})
=m_c G \sum^n_{j=0}\frac{m_j}{|{\bf r_C} - {\bf r_j}|^3 }({\bf r_C} - {\bf r_j})
力は質量に加速度をかけたものであるから、
\bf a=\frac{F}{m_c}
=\frac{m_c G \sum^n_{j=0}\frac{m_j}{|{\bf r_C} - {\bf r_j}|^3 }({\bf r_C} - {\bf r_j})}{m_c}
= G \sum^n_{j=0}\frac{m_j}{|{\bf r_C} - {\bf r_j}|^3 }({\bf r_C} - {\bf r_j})
これを
{\bf v}={\bf v_0} +{\bf a} dt{\bf r}={\bf r_0} +{\bf v} dt
とし、これを繰り返すともとまる。

開発中ソースコード(JAVA)
整理してないのでかなり汚いです...
Main
Planet
Comet
最終更新:2009年01月11日 10:14
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。