(シンプルな)恒星系の構築[終了]


8

私は現在、宇宙ベースの戦略ゲーム(したがって宇宙船が動き回る)を可能にするために、いくつかの恒星系(いくつかの中心の星、次に衛星のある惑星を意味する)を簡単にシミュレートする方法を検討しています。これはすべて時間ベースである必要があります(したがって、各システムの状態は時間とともに異なります)

たとえば、次のように、このトピックの背後にある数学にかなり苦労しています。-
楕円関連の数学
-時間を考慮して惑星AからBへのパスを作成する(それぞれの位置は時間とともに変化します)...

そのためのリソースを知っていますか?それについての本を買ってもかまわない...

補足:現時点では、これらすべてを表示する方法は問題ではありません。そのための簡単な計画を立てます(基本的には2Dに固執し、宇宙船/惑星の詳細はなく、マーカーのみの「高レベルビュー」)。


楕円の数学は惑星の周りの衛星の動きについてですか?
brainydexter

楕円の数学は、惑星が星の周りのコースで楕円を追っていると思ったからです。違いますか ?最終的な目標は、システムの惑星の進路を非常に適切に表すことです。
スペースボーグ

残念ながら、「リソースリクエスト」の質問は受け付けなくなりました。
Gnemlock 2017年

回答:


5

私は数学の頭脳ではありませんが、私のSFの読みとGoogleが私を軌道力学のこのページに導きます。それは私が従うことができる説明から始まり、私が従うことができない方程式でそれをフォローアップします。私が探していた動きのタイプは、ホーマン転送軌道と呼ばれ、燃料消費量が最も少ないものです。


どうもありがとうジェイソン:私は同じようなコンテンツを検索しましたが、成功しませんでした。それでも、それは宇宙物理学についてのみであり、ゲームのような方法でそれらを適用する方法(戦略的な2Dの種類のディスプレイでそれらをマッピングする方法)ではありません。それでも、これは私が見た中で最も近いものです。ありがとうございました:)
スペースボーグ

それらを2Dにマッピングするには、Z次元を削除するだけで、すべての計算が以前と同様に機能するはずです。それらをゲームに適用する限り、それらは単なる公式です。私は、既知の開始点、モーションの公式、および各天体がどこにあるかを常に計算できるオフセット時間値を仮定します。
ジェームズ

2

恒星系のシミュレーションの物理学以外にも、考えてみたい別の問題があります。

浮動小数点の精度は、「シミュレーション」の量によっては問題になる可能性があります。あなたがそれについて考えるとき、それらの惑星のうちの1つを周回するオブジェクトの距離に対する惑星間の実際の距離は巨大です。同じ「環境」内で遠方の惑星と軌道を回るオブジェクトの両方をシミュレートしようとすると、浮動小数点の精度の制限の下で壊れる可能性があります。

http://www.floatingorigin.com/mirror/oneil_01.htm


1

ジェイソンが前述したように、このウェブページを見てください-軌道力学にかなり深く入っています...

http://www.braeunig.us/space/orbmech.htm

ナビゲーション用の簡単なルールベースのシステムを作成できるかどうか疑問に思っています。単に車両をあるベクトルで「起動」し、次にイベントループの各パスで、目的地との関係で現在の軌道を見てもらい、修正を適用します。

トリッキーになるのは、宇宙船の動機と呼べるものを考慮に入れなければならない場合です。有限の燃料供給がありますか?早く到着した方がいいですか、それとも燃料使用量が少ない方がいいですか ターゲットに近づく速度は重要ですか?つまり、高速で飛んでくるのでしょうか、それとも軌道に入るのに減速する必要がありますか?


Doh-軌道力学のページを参照して、上記のJason Pineoの投稿を複製したことに気づきました。私は私の答えのその部分を削除し、「単純なルールシステム」の部分をそのままにします。
Tim Holt

1

これを解決する必要さえありますか?ホーマン転送軌道は、SLOW外側本体の--1 / 2軌道周期と彼らはまた、ワークへの惑星の適切な位置合わせを必要とします。

プレーヤーをそのような動きに制限しますか?そして、あなたがそうしているなら、明らかに他のスターシステムに到達するために何らかのジャンプドライブを使用している-なぜそれをシステム内で使用できないのか?

重要な力のある種の連続推力システムがある場合は、そのような空想的な軌道計算を行う必要はありません。代わりに:

1)物体間で必要な速度変化を計算します。これは、軌道速度と新しい軌道に移動するために必要なエネルギーの両方です。

2)現在の位置でのAとBの間の距離を計算します。

3)パート1で必要な書き込みに合わせてこれを調整します。外側に行く場合、速度変更の最初に追加の書き込みがあり、追加の書き込みに行く場合は最後です。惑星間の距離からこの距離を引いて、合計時間に必要な時間を加えます。

4)残りの距離をとり、半分に割り、ロケットがこれを実行するのにかかる時間を計算します。結果を2倍にします。

5)関与する時間を追加し、火傷が終わった後のターゲット惑星の位置を計算します。動かしすぎた場合は、惑星の新しい位置をターゲットとして使用して、計算をやり直してください。これは急速に収束します。

はい、これはNASA仕様に達していませんが、ゲームで使用するには十分に近いです。


-1

時間を考慮して惑星AからBへのパスを作成する(それぞれの位置は時間とともに変化します)

ルックアップ線形補間。時間の関数を使用して、直線に沿ってポイントAからBまでの位置を更新できます。

このリンクが役立つかもしれません。


私は問題が、ポイントBがそれに向かって移動しているときにポイントBが移動しているときに、ポイントAとBの間のルートを計算する方法を尋ねていると信じています中央の星)
James

@ジェームズ: "(それぞれの位置は時間とともに変化します)":->ポイントが常に動いているのか、AとBが固定されているのか、後で変化するのかは明確ではありません。ポイントが固定されている場合、IMO線形補間が最適です。
brainydexter

申し訳ありませんが、A点とB点が時間の経過とともに変化することを明記していないその行を読み取る方法が見つかりません...
James

確かに、それは2つの惑星間、つまり移動点間だったので、線形補間は出ていないと思います。それでもリンクに感謝します:)
スペースボーグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.