実際の軌道力学に基づくブラウザー向け3D衛星トラッカー。学生や教育関係者、宇宙運用チームを対象としています。
qunabu/Gravity
重力が軌道を形作る仕組みを、ガイドツアーと実際の天文データで学べるTypeScript・Three.js製の太陽系シミュレーター。
- スター
- 220
- フォーク
- 17
- 未解決の Issue
- 0
- 最終コミット
- 29 日前
これは何?
Gravityは、TypeScript、Three.js、Viteで構築されたブラウザー上で動作する太陽系シミュレーターです。天体のサイズや質量、J2000.0の軌道要素には実際の天文データを使用しており、惑星、冥王星、主要な衛星が実際の軌道をたどります。スケールを変更しているのは描画のみで、切り替えれば、実寸スケールと太陽や小さな水星も同時に見えるビジュアルスケールを選べます。
プロジェクトを起動すると、軌道が生まれる理由を解説する43ステップのガイドツアーが始まります。ニュートンの法則から始まり、地球と月の系、ラグランジュ点、潮汐、一般相対性理論へと進みます。各ステップにはディープリンクがあり、解説文は英語とポーランド語を切り替えられます。ツアーの後は、自由探索モードでシミュレーションを直接操作できます。
物理モデルは、解析的なケプラー模型と、全ての天体間に働くニュートン重力をリープフロッグ積分器で計算し、エネルギーの変化をリアルタイムで表示するN体モデルを切り替えられます。テクスチャはcanvas上でプロシージャルに生成されるため、画像ファイルがなくてもオフラインで動作します。
主な機能
- 01太陽、惑星、冥王星、主要な衛星の実際のサイズ、質量、J2000の軌道要素を使用。
- 02実寸スケールと、小さな天体も見やすいビジュアルスケールを切り替え可能。
- 03解析的なケプラー軌道と、リアルタイムのN体重力シミュレーションを切り替え可能。
- 04ディープリンクと英語・ポーランド語の解説文に対応した43ステップのガイドツアー。
- 05オフラインでも使える、プロシージャル生成の惑星・衛星テクスチャ。
ユースケース
- 学生に軌道力学やニュートンの法則を教える。
- ラグランジュ点、潮汐、軌道共鳴の仕組みを視覚的に探る。
- 3D科学可視化の参考として、TypeScriptとThree.jsのコードベースを活用する。
クイックスタート
- 1
依存関係をインストールする
npm install - 2
localhost:5173 で開発サーバーを起動する
npm run dev
使う前に知っておきたいこと
- 月の軌道の昇交点、引数、位相の値は概算です。実際の値は軌道長半径、離心率、軌道傾斜角、周期のみです。
- ビジュアルスケールには非線形の再マッピングを使用しているため、そのモードでは軌道の楕円は完全な楕円ではなく、近似的な形になります。
- 月を有効にした N 体モードでは、より細かいタイムステップが必要です。時間倍率が非常に高い場合、精度が低下することがあります。
トピック
よくある質問
- Gravity とは?
- 重力が軌道を形作る仕組みを、ガイドツアーと実際の天文データで学べるTypeScript・Three.js製の太陽系シミュレーター。 Gravityは、TypeScript、Three.js、Viteで構築されたブラウザー上で動作する太陽系シミュレーターです。天体のサイズや質量、J2000.0の軌道要素には実際の天文データを使用しており、惑星、冥王星、主要な衛星が実際の軌道をたどります。スケールを変更しているのは描画のみで、切り替えれば、実寸スケールと太陽や小さな水星も同時に見えるビジュアルスケールを選べます。
- Gravity は無料で使えますか?ライセンスは?
- Gravity は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- Gravity は今もメンテナンスされていますか?
- 活発にメンテナンス中。Gravity の最終コミットは 2026年9月21日 です。
- Gravity は何に使えますか?
- 学生に軌道力学やニュートンの法則を教える。 ラグランジュ点、潮汐、軌道共鳴の仕組みを視覚的に探る。 3D科学可視化の参考として、TypeScriptとThree.jsのコードベースを活用する。
- Gravity のインストール方法は?
- 依存関係をインストールする: npm install localhost:5173 で開発サーバーを起動する: npm run dev
- Gravity はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/qunabu/Gravity
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
場所と時刻を指定すると、ブラウザー上でその場所の夜空を再現するオフライン対応のインタラクティブなWebアプリ。
テキスト構文からSVGのインフォグラフィックを生成・描画する、AI生成とストリーミング出力向けの宣言型エンジン。
実行時依存なしでMermaidの図表テキストをSVGに変換する、小型の同期レンダラー。
接触状態にある多関節剛体を高速かつ高精度にシミュレーションする汎用物理エンジン。ロボティクスや機械学習の研究で広く使われています。
ゲームやVR向けの、マルチコア環境に適したC++剛体物理・衝突検出ライブラリ。