概要
- 重力と軌道 の理解を深めるための自作シミュレーション
- ガイド付きツアー で物理現象を段階的に解説
- 実際の天体データ や物理法則を忠実に再現
- ビジュアルと物理の切り替え 機能あり
- TypeScript + Three.js によるクライアントサイド実装
週末プロジェクト:重力と軌道シミュレーション
- 重力や軌道の仕組み を自分で学ぶために開発したシミュレーション
- 学校で十分に説明されなかった 「なぜ軌道が存在するのか」 という疑問への探求
- ガイド付きツアー で段階的に物理現象を解説
- 二体間の 作用・反作用の力 の説明
- 慣性 の例示(太陽を除去し地球が直進する様子)
- 「軌道とは落下し続けて外れること」 という本質の説明
- コズミック・ベロシティ やロケットの動きの導入
- Voyager 1 & 2の実際のグラビティアシスト (1977–1989年の実際の日付で再現)
- Einsteinの重力=時空の曲がり (ラバーシートの井戸モデル)で締めくくり
実装と物理的正確性
- 各天体の半径・質量・J2000軌道要素 を実データで使用
- 各フレームでKepler方程式を解き、位置を計算
- N-bodyモード(シンプレクティック・リープフロッグ法) を搭載
- エネルギーのドリフト(約1e-6%) をライブ表示し、数値積分の精度を可視化
- スケールのみ可視化用に調整
- 本来のスケールでは何も見えないため、 真のスケールと対数リマップのビジュアルスケール を切り替え可能
- 物理演算自体は常に 実際のAU単位 で実行
技術スタックと公開情報
- TypeScript + Three.js + Vite による完全クライアントサイド実装
- オフライン動作対応 (地表テクスチャはバリューノイズで手続き生成、Earthのみ実画像使用)
- ソースコード公開 : https://github.com/qunabu/Gravity
フィードバックと今後の課題
- 物理の正確性や説明方法 についてのフィードバック歓迎
- 現実の物理との違い を自覚しつつ、自分なりの理解を深める目的
- 質問や指摘 も随時受付