Dynamic Orbital Change & Mass Fluctuation Simulator
対象ファイル | 衝突による質量変化シミレーションV2.0.html |
対象画面 | 添付スクリーンショット(UI表示例) |
目的 | シミュレータの概要、起動方法、基本操作、各パネルの見方を一冊で確認できるようにまとめた運用用マニュアル |
備考 | 本書の説明は、添付HTMLに実装されている画面構成・ボタン動作・表示項目・計算ロジックに基づいて整理したもの |
図 0 タイトル部と制御バー(対象画面の上部)
1. 概要
本シミュレータは、対象惑星の質量・半径・公転周期・振動周期・近点/遠点などの値を入力し、質量変化に伴う半径変化、軌道表示、各種エネルギー値を同時に確認するためのブラウザ用HTMLアプリである。
画面は大きく、制御バー、惑星プロフィール、固定値、入力パラメータ、半径変化シミュレーション、軌道アニメーション、計算結果の各ブロックで構成される。
入力値を変更すると計算結果は即時に再計算され、表示も連動して更新される。半径変化表示と軌道表示には、それぞれ強調表示の切替ボタンが用意されている。
図 1 画面全体の構成(番号は主要領域の位置を示す)
番号 | 領域名と役割 |
1 | 制御バー:対象惑星の選択、初期データのロード、クリア操作を行う。 |
2 | 惑星プロフィール:選択中の惑星画像と惑星名を表示する。 |
3 | 固定値/入力パラメータ:計算に使う定数と編集可能な入力項目を表示する。 |
4 | 可視化領域:半径変化シミュレーションと軌道アニメーションを表示する。 |
5 | 計算結果:全体情報、衝突後天体、衝突天体、近点情報、遠点情報を一覧表示する。 |
2. 起動方法と動作条件
- HTMLファイルをPC内に保存し、対応ブラウザで開く。
- JavaScriptを有効にした状態で利用する。画面が表示されない場合は、ブラウザのJavaScript設定を確認する。
- HTML内では Tailwind CSS、React、ReactDOM、Babel を外部CDNから読み込んでいる。加えて、惑星画像も外部URLを参照しているため、表示環境によってはネットワーク接続が必要になる。
補足:アプリ本体は1つのHTMLにまとまっているが、実装上は外部ライブラリと画像URLを参照している。完全なオフライン実行を想定する場合は、その点を事前に確認する。 |
3. 基本操作手順
手順 1 | 「TARGET PLANET」で対象惑星を選択する。選択肢は水星、金星、地球、火星、木星、土星、天王星、海王星の8惑星である。 |
手順 2 | 必要に応じて「初期データをロード」を押し、各惑星に用意された初期値を読み込む。 |
手順 3 | 左側の「入力パラメータ」で数値を編集する。質量 m、天体半径 Rp、公転周期 Ta、振動周期 Tf、近点 ap、遠点 aa、基準軌道 a、近日点移動角 Δω、振動周期遅延時間 ΔT が編集対象である。 |
手順 4 | 中央の半径変化シミュレーションと右上の軌道アニメーションを見て、入力値に対する視覚的な変化を確認する。 |
手順 5 | 右下の「計算結果」で、全体情報・衝突後天体・衝突天体・近点情報・遠点情報を読む。 |
手順 6 | 必要に応じて「JSON Editor」を開き、全惑星分のデータをJSON形式で確認・編集して「適用」する。 |
手順 7 | すべての入力を空にしたい場合は「クリア」を押す。クリア時には確認ダイアログが表示される。 |
4. 各画面の説明
4.1 左側パネル(惑星プロフィール・固定値・入力パラメータ)
図 2 左側パネルの表示例
- 選択中の惑星名と惑星画像が上部に表示される。
- 「固定値」には、宇宙エネルギー定数 U、光速 c、太陽質量 M が常時表示される。
- 「入力パラメータ」はテキスト入力欄で構成され、値を変更すると画面全体の計算結果が更新される。
- 先頭の「惑星質量 m (kg)」は強調表示されており、主要な変更項目として扱われている。
- 「JSON Editor」を開くと、全体データベースをJSONで表示し、そのまま反映できる。JSONが不正な場合はエラー警告が出る。
4.2 可視化領域(半径変化シミュレーション・軌道アニメーション)
図 3 半径変化シミュレーションと軌道アニメーション
- 半径変化シミュレーションでは、衝突前半径 Rp、衝突後半径 Rf、衝突天体半径 Ru、増減半径 |ΔR| を比較表示する。
- 「強調表示」ボタンをONにすると、微小な差や小さい天体が見やすいように非線形スケールで誇張表示される。OFFでは同一縮尺の比率表示になる。
- 軌道アニメーションでは、近点(PERI)・遠点(APO)を持つ楕円軌道として表示し、離心率表示と近点移動角の表示が更新される。
- 軌道アニメーションの「強調表示」は、表示用の離心率を誇張して見やすくするためのもので、数値そのものを変更するものではない。
- 右上の再生/一時停止ボタンで軌道アニメーションの進行を制御できる。
4.3 計算結果パネル
図 4 計算結果パネルの表示例
表示ブロック | 内容 |
全体情報 | 質量エネルギー EA、光速基準軌道 ac、宇宙エネルギー空間 SES EA を表示する。 |
衝突後天体 | 衝突後惑星質量 mf、衝突後半径 Rf、増減質量 Δm、増減半径 ΔR を表示する。 |
衝突天体 | 衝突天体質量 mi と衝突天体半径 Ru を推定値として表示する。 |
近点情報 | 近点での静的エネルギー Sap、基準静的エネルギー Sa、衝突エネルギー IEap、動的エネルギー Aap、近点速度 vap を表示する。 |
遠点情報 | 遠点での静的エネルギー Saa、基準静的エネルギー Sa、衝突エネルギー IEaa、動的エネルギー Aaa、遠点速度 vaa を表示する。 |
5. 入力項目一覧
項目 | 画面表示名 | 説明 |
m | 惑星質量 m (kg) | 対象惑星の質量。衝突後質量や各エネルギー計算の基準になる。 |
Rp | 天体半径 Rp (km) | 衝突前の惑星半径。衝突後半径 Rf や衝突天体半径 Ru の算出に使う。 |
Ta | 公転周期 Ta (h) | 基準となる公転周期。 |
Tf | 振動周期 Tf (h) | 振動周期。HTMLでは Tf / Ta の比から衝突後質量 mf を算出している。 |
ap | 近点 ap (km) | 近点距離。近点の静的エネルギーと速度計算に使う。 |
aa | 遠点 aa (km) | 遠点距離。遠点の静的エネルギーと速度計算に使う。 |
a | 基準軌道 a (km) | 基準とする軌道距離。 |
Δω | 近日点移動角 Δω (秒/年) | 軌道アニメーションの回転速度表示に反映される。 |
ΔT | 振動周期遅延時間 ΔT (h) | 初期データ上では公転周期との差分として保持される値。 |
6. 画面で固定表示される値
項目 | 値 | 単位 |
宇宙エネルギー定数 U | 7.42426000E-31 | km/kg |
光速 c | 1.07925000E+09 | km/h |
太陽質量 M | 1.98910000E+30 | kg |
7. 実装されている主な計算式
以下は、HTML内のJavaScriptに実装されている主な計算ロジックを、そのまま読みやすく整理したものである。
EA = m × c² | Saa = EA / aa |
ac = U × (M + m) | Sa = EA / a |
SES_EA = EA × ac | IEap = Sap − Sa |
mf = m × (Tf / Ta) | Aap = IEap + Sap |
Δm = mf − m | vap = √(Aap / m) |
Rf = Rp × (mf / m)^(1/3) | IEaa = Saa − Sa |
Ru = Rp × (|Δm| / m)^(1/3) | Aaa = IEaa + Sap |
ΔR = Rf − Rp | vaa = √(Aaa / m) |
Sap = EA / ap |
注記:遠点側の動的エネルギー Aaa は、HTML実装上「Aaa = IEaa + Sap」で計算されている。ここでは実装内容に合わせて記載している。 |
8. 利用上の注意
- 表示の「強調表示」は、半径変化図や軌道図を見やすくするための表示倍率・表示用離心率の変更であり、数値結果そのものを変更するものではない。
- 「初期データをロード」は各惑星の初期サンプル値を再設定する操作である。
- 「クリア」は全惑星分のデータを空にする操作であり、確認ダイアログの承認後に実行される。
- JSON Editorでは全データを直接編集できるため、編集前のバックアップ保存を推奨する。
- 本書は添付HTMLの実装内容に基づく操作マニュアルであり、理論的妥当性の検証書ではない。
