Aufbau (einfacher) Sternensysteme [geschlossen]


8

Ich beschäftige mich derzeit mit der einfachen Simulation einiger Sternensysteme (dh einiger Zentralsterne und dann einiger Planeten mit möglicherweise Satelliten), um später ein weltraumbasiertes Strategiespiel zu ermöglichen (daher mit Raumschiffen, die sich bewegen). Dies sollte alles auf der Zeit basieren (daher unterscheidet sich der Zustand jedes Systems im Laufe der Zeit).

Ich habe ziemlich Probleme mit der Mathematik hinter diesem Thema, wie zum Beispiel:
- Ellipsen-bezogene Mathematik,
- Erstellen des Pfades von Planet A nach B unter Berücksichtigung der Zeit (die jeweiligen Positionen ändern sich im Laufe der Zeit) ...

Kennen Sie Ressourcen dafür? Es würde mir nichts ausmachen, Bücher darüber zu kaufen ...

Randnotiz: Wie man all diese Dinge anzeigt, ist zu diesem Zeitpunkt keine Frage, ich werde einfache Pläne dafür haben (im Grunde genommen bleiben wir bei 2D und einer "High-Level-Ansicht" ohne Details von Raumschiffen / Planeten, nur Markierungen).


Geht es in der Ellipsenmathematik um die Bewegung von Satelliten um die Planeten?
Brainydexter

Die Ellipsenmathematik ist, weil ich dachte, Planeten folgen einer Ellipse in ihrem Verlauf um Sterne. Ist es falsch ? Das ultimative Ziel ist es, die Kurse der Planeten in einem System richtig darzustellen.
Space Borg

Leider akzeptieren wir keine Fragen mehr zu "Ressourcenanfragen".
Gnemlock

Antworten:


5

Ich bin kein mathematisches Gehirn, aber meine SF-Lesung und Google führen mich zu dieser Seite über Orbitalmechanik . Es beginnt mit Erklärungen, denen ich folgen kann, und folgt mit Gleichungen, die ich nicht kann. Die Art der Bewegung, nach der ich gesucht habe, heißt Hohmann Transfer Orbit und verbraucht am wenigsten Kraftstoff.


Vielen Dank Jason: Ich hatte erfolglos nach ähnlichen Inhalten gesucht. Es geht jedoch nur um die Weltraumphysik, nicht darum, wie man sie spielerisch anwendet (wie man sie in einer strategischen 2D-Anzeige abbildet). Trotzdem ist es das nächste, das ich gesehen habe, vielen Dank :)
Space Borg

Um sie auf 2D abzubilden, entfernen Sie einfach die Z-Dimension. Die gesamte Mathematik sollte weiterhin wie zuvor funktionieren. Was die Anwendung auf ein Spiel betrifft, handelt es sich nur um Formeln. Ich würde davon ausgehen, dass Sie mit einem bekannten Startpunkt, der Bewegungsformel und einem Versatzzeitwert immer berechnen können, wo sich jeder Himmelskörper befindet.
James

2

Neben der Physik der Simulation eines Sternensystems gibt es noch ein weiteres Thema, über das Sie sich vielleicht Gedanken machen möchten.

Die Gleitkommapräzision wird wahrscheinlich ein Problem sein, abhängig davon, wie viel von einer "Simulation" es ist. Wenn Sie darüber nachdenken, ist die tatsächliche Entfernung zwischen einem Planeten und der Entfernung eines Objekts, das um einen dieser Planeten kreist, sehr groß. Der Versuch, sowohl einen entfernten Planeten als auch ein umlaufendes Objekt in derselben "Umgebung" zu simulieren, würde wahrscheinlich unter den Einschränkungen der Gleitkommagenauigkeit brechen.

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


1

Wie Jason oben erwähnt hat, werfen Sie einen Blick auf diese Webseite - sie geht ziemlich tief in die Orbitalmechanik ein ...

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

Ich frage mich, ob Sie möglicherweise ein einfaches regelbasiertes Navigationssystem ausarbeiten können. Starten Sie das Fahrzeug einfach auf einem Vektor und lassen Sie es dann bei jedem Durchgang Ihrer Ereignisschleife die aktuelle Flugbahn in Bezug auf das Ziel überprüfen und eine Korrektur vornehmen.

Wenn es schwierig wird, müssen Sie berücksichtigen, was Sie die Motivationen des Raumschiffs nennen könnten. Hat es eine endliche Kraftstoffversorgung? Ist es besser, schneller dorthin zu gelangen oder weniger Kraftstoff zu verbrauchen? Ist die Geschwindigkeit, mit der Sie sich dem Ziel nähern, wichtig? Dh, kann es nur mit hoher Geschwindigkeit einfliegen oder muss es langsamer werden, um in die Umlaufbahn zu gelangen?


Doh - Ich habe gerade festgestellt, dass ich Jason Pineos obigen Beitrag unter Bezugnahme auf die Seite mit der Orbitalmechanik dupliziert habe. Ich entferne diesen Teil meiner Antwort und behalte nur den Teil "Einfaches Regelsystem".
Tim Holt

1

Müssen Sie das überhaupt lösen? Hohmann-Transferbahnen sind langsam - 1/2 der Umlaufzeit des Außenkörpers und erfordern auch eine korrekte Ausrichtung der Planeten, um zu funktionieren.

Möchten Sie die Spieler wirklich auf solche Bewegungen beschränken? Und wenn Sie das tun, verwenden Sie offensichtlich eine Art Sprungantrieb, um zu den anderen Sternensystemen zu gelangen - warum können Sie das nicht innerhalb eines Systems verwenden?

Wenn Sie ein kontinuierliches Schubsystem mit nicht trivialer Kraft haben, müssen Sie keine solchen ausgefallenen Orbitalberechnungen durchführen. Stattdessen:

1) Berechnen Sie die Geschwindigkeitsänderung, die zwischen den Körpern benötigt wird. Dies ist sowohl die Umlaufgeschwindigkeit als auch die Energie, die benötigt wird, um sich in die neue Umlaufbahn zu bewegen.

2) Berechnen Sie den Abstand zwischen A und B an ihren aktuellen Positionen.

3) Passen Sie dies an die in Teil 1 erforderliche Verbrennung an. Wenn Sie nach außen gehen, rechnen Sie am Anfang mit einer zusätzlichen Verbrennung für die Geschwindigkeitsänderung, wenn Sie mit der zusätzlichen Verbrennung beginnen, am Ende. Subtrahieren Sie diesen Abstand vom Abstand zwischen den Planeten und addieren Sie die benötigte Zeit zur Gesamtzeit.

4) Nehmen Sie den verbleibenden Abstand, teilen Sie ihn in zwei Hälften und berechnen Sie, wie lange Ihre Rakete dafür benötigt. Verdoppeln Sie das Ergebnis.

5) Addieren Sie die beteiligten Zeiten und geben Sie an, wo sich der Zielplanet nach dem Ende der Verbrennung befindet. Wenn es zu stark bewegt wird, verwenden Sie den neuen Standort des Planeten als Ziel und wiederholen Sie die Berechnungen. Dies wird schnell konvergieren.

Ja, dies entspricht nicht den NASA-Spezifikationen, ist aber für den Spieleinsatz ausreichend nah genug.


-1

Erstellen des Pfades von Planet A nach B unter Berücksichtigung der Zeit (die jeweiligen Positionen ändern sich im Laufe der Zeit)

Lineare Interpolation nachschlagen. Sie können eine Position von Punkt A nach B entlang einer geraden Linie mithilfe einer Zeitfunktion aktualisieren.

Dieser Link könnte helfen.


Ich glaube, die Frage ist, wie man die Route zwischen Punkt A und B berechnet, wenn sich Punkt B bewegt, während man sich darauf zubewegt (dh wie man den Zielplaneten so "führt", wenn man ankommt, nicht auf der anderen Seite des Zentralstern)
James

@James: "(die jeweiligen Positionen ändern sich im Laufe der Zeit)": -> Es ist nicht genau klar, ob die Punkte ständig in Bewegung sind oder ob A und B fest sind und sie sich später ändern. Wenn Punkte festgelegt sind, ist die lineare IMO-Interpolation der richtige Weg.
Brainydexter

Sorry Mann, ich kann keinen Weg finden, diese Zeile zu lesen, in der nicht angegeben ist, dass sich die Punkte A und B im Laufe der Zeit ändern werden ...
James

in der Tat war es zwischen 2 Planeten, also zwischen sich bewegenden Punkten, daher ist eine lineare Interpolation wohl nicht möglich. Trotzdem danke für den Link :)
Space Borg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.