Hallo SRMeister,
ja, UMa steckt entweder so tief in der Materie, daß er vergessen hat wo für Anfänger die Stolpersteine rumliegen, oder er überschätzt meine Fähigkeiten, oder will mich dazu bringen meinen eigenen Grips zu bemühen. Letzteres ist ihm durchaus gelungen und im Nachhinein war das sicher nicht der schlechteste Weg.
Voraussetzung ist, daß Dein Programm richtig rechnet! Wie man das testet, beschreibe ich weiter unten - ist vielleicht nicht nötig, aber Deine Frage nach dem halben Zeitschritt, hat mich da in meiner Einschätzung dazu etwas verunsichert, weil Du eigentlich über dieses Problem gestolpert sein mußt.
Doch zunächst zu der von UMa beschriebenen Methode:
Du berechnest die Neue Position des Himmelskörpers A genau so, wie Du es sonst (hoffentlich richtig) machst. Sagen wir mal 1 Tag später. Du wiederholst exakt diese Berechnung, dieses mal aber mit kürzeren Zeitschritten, sagen wir mit 12 Stunden, dann brauchst Du schon zwei Zeitschritte bis Du bei der Position nach einem Tag angekommen bist und Dein Ergebnis für Position und Geschwindigkeit ist genauer. Du machst das nochmal, wieder für den selben Zeitabschnitt dieses mal aber unterteilt in 8 Stunden Schritte, also drei Schritte. Und so weiter (Schrittweite nach Fibonacci verändern ist da wahrscheinlich am besten, muß aber nicht, es geht auch mit anderen Verkürzungsregeln)
Wenn Du Dir nun die von Dir errechneten Werte für die X-Position anschaust und sie gegen die Schrittzahl aufzeichnest wirst Du sehen, daß diese X-Werte gegen einen bestimmten X-Wert konvergieren. Irgendwann werden Deine Ergebnisse, auf welcher X-Position der Planet nach einem Tag steht nicht mehr besser werden, sich nicht mehr verändern, egal wie klein Du Deine Zeitschritte machst.
Das Selbe gilt für die Y und Z Position und auch für die Geschwindigkeitsanteile in X, Y und Z Richtung.
Du kannst nun aus dem Kurvenverlauf, den diese X-Werte gegen die Schrittzahl zeigen ermitteln, wo dieser Konvergenzwert liegt/liegen wird, wenn Du die Schrittzahl weiter vergrößerst (also die Schrittweite weiter verkleinerst) ohne daß Du das bis zu eben dem oben beschriebenen Exzess wirklich durchrechnen mußt.
Und das genau ist der ‚Trick‘.
Ich selber habe das bisher nur mit wenigen Rechnungen ausprobiert und mich noch nicht darum kümmern können, ob ich wirklich in jedem Einzelfall eine eigene Kurvenanpassung rechnen muß, oder ob es ein ganz einfaches Verfahren gibt, den Konvergenzwert zu ermitteln. Ersteres kann ich zwar (war ein Werkzeug in meiner Diplomarbeit), aber es ist ziemlich aufwändig es auch zu programmieren (was ich müßte, wenn ich es in mein Programm einbauen will). Für Letzteres fehlen mir entweder die Erinnerungen wie man das macht, oder ich hab‘ es nie gelernt und selber bin ich bisher nicht (erneut?) drauf gekommen.
Nun zur halben Schrittweite.
Nehmen wir an, Du startest mit der Erde bei Z=0, Y=1AE, X=0, Deine Zeitschrittweite soll 1 Tag sein, dann gibt es mehrere Möglichkeiten wie Du die neue Position und Geschwindigkeit der Erde, nach diesem Tag ausrechnen kannst.
1. Du rechnest erst den neuen Geschwindigkeitsvektor (nach einem Tag Beschleunigung) mit dem Beschleunigungsvektor an dieser Position aus, und läßt die Erde mit diesem neuen Geschwindigkeitsvektor einen Tag lang Strecke machen. Das ist falsch.
2. Du läßt sie mit dem derzeitigen Geschwindigkeitsvektor einen Tag lang Strecke machen und rechnest an der nun nach einem Tag erreichten Position mit dem hier geltenden Beschleunigungsvektor den neuen Geschwindigkeitsvektor aus. Das ist auch falsch!
3. Du rechnest den neuen Geschwindigkeitsvektor mit dem hiesigen Beschleunigungsvektor aus, läßt sie aber einen halben Tag lang mit dem alten Geschwindigkeitsvektor bewegen und den zweiten halben Tag mit dem neuen Geschwindigkeitsvektor. (Man kann das nach diesem Startschritt bei den folgenden Schritten auch geeignet zusammenfassen)
Der für mich zuverlässigste Test ist: Sonne bleibt von jeder Beschleunigung verschont und die Erde bewegt sich auf einer Kreisbahn mit einer Geschwindigkeit von
V = Wurzel(G*mSonne/AE) = erste kosmische Geschwindigkeit
Nach jedem Schritt (hier ein Tag) muß ihr Abstand wieder 1AE sein.
Laß sie ruhig mal mit verschiedenen Schrittweiten einige tausend mal kreisen und schau Dir an, was passiert.
Herzliche Grüße
MAC