kleiner planetarer Simulator

Kibo

Registriertes Mitglied
Dein Tip mal in die englische Wikipedia vom Leapfrog zu schauen hat's gebracht.

Hab die Variante:
x_i := x_(i-1) + v_(i-1/2) * delta_t
a_i := F(x_i)
v_(i+1/2) := v_(i-1/2) + a_i * delta_t

implementiert. Verglichen mit dem ewigen Rumprobieren mit dem was in der deutschen Wikipedia steht, ging das jetzt wirklich sehr schnell:)

Die 1.13 liegt dann wie immer auf sourceforge (link weiterhin in Hilfe zu finden)
Hab, wie von dir vorgeschlagen die Standart Kameraposition angepasst. Kann man wie man möchte weiterhin in der settings.txt nach eigenen Wünschen ändern.

mfg
 

Kibo

Registriertes Mitglied
Noch ein kleines Update fürs Auge.

Ab Version 1.14 kann man wieder Zoomen. Und damit der Zoom nicht zu hässlich aussieht habe ich die Licht-Berechnung nochmal ein bisschen aufgehübscht. Hier mal ein Screenshot
Screenshot%20sps3.png


Desweiteren gibt es jetzt eine funktionierende Ausgabe der Geschwindigkeit eines Körpers, und der Abstände der Körper zueinander.
Wie man sieht, habe ich hier eine andere Textur verwendet. Man kann die Texturen jederzeit ändern. Man muss nur die Texturen in den img-Ordner packen und entsprechend benennen.

mfg
 
Zuletzt bearbeitet:

Kibo

Registriertes Mitglied
Das Scrollrad ist seit 1.10.2 dazu da, die Geschwindigkeit der Kamera zu regeln. Schau mal bitte ob sich die Geschwindigkeitsanzeige unten links im Renderfenster ändert wenn du scrollst.

Edit: Ich vergaß zu erwähnen das die Tastenbelegung zum Zoomen auf BildAuf/BildAb gelegt ist. Ich werd das mal mal gleich in die Hilfeseite einpflegen.
 
Zuletzt bearbeitet:

Kibo

Registriertes Mitglied
Nabend Bernhard,

Kannst du die Richardson Interpolation kurz erklären? Ich kann mit dem Wikipedia-Artikel irgendwie nicht viel anfangen.

mfg
 

Bernhard

Registriertes Mitglied
Kannst du die Richardson Interpolation kurz erklären?
Hallo Kibo,

kennt man die Ordnung eines Differenzenverfahrens so kennt man per Definition die Taylorentwicklung des Restglieds (=Fehler). Bei einem Verfahren zweiter Ordnung gilt beispielsweise y_exakt - y_numerisch = c_2 * dt^2 + c_3 * dt^3 + c_4 * dt^4 ....Vernachlässigt man die Koeffizienten c_3, c4, usw. erhält man eine Gleichung mit den zwei Unbekannten c_2 und y_exakt. Macht man den gleichen Rechenschritt mit zwei verschiedenen Schrittweiten bekommt zwei Gleichungen mit zwei Unbekannten und kann damit die zwei Unbekannten c_2 und y_exakt ausrechnen und erhält insgesamt den exakten Wert unter Vernachlässigung der Koeffizienten c_3, c_4 bis c_unendlich.

Grob erklärt ist das dann die Richardson-Interpolation.

Gegenfrage: Welche neuen Ziele verfolgst Du mit dem Programm, denn es geht mehr und mehr in Richtung Ephemeridenrechnung. Falls das Programm in dieser Richtung weiterentwickelt werden soll, könntest Du aus dem Nachbarprojekt http://sourceforge.net/projects/nbodysimulator/ die Umrechnung von den euklidischen Koordinaten in Rektaszension und Deklination verwenden und nach ahk übersetzen. Kurz, die grafische Darstellung zeigt beispielsweise zwischen dem Leapfrog und Runge-Kutta keinen Unterschied mehr. Der Unterschied wird allerdings dann wichtig, wenn man mit Teleskopen die genauen Positionen der berechneten Himmelskörper nachprüft. Man nennt das dann Astrometrie und kann das auch mit kleineren Teleskopen hobbymäßig betreiben.
 
Zuletzt bearbeitet:

Kibo

Registriertes Mitglied
Hallo Bernhard, danke für die Antwort!

Zu deiner Frage: An sich entscheide ich das ganz spontan was ich noch einbaue (manche Sachen, verwerfe ich auch wieder beim Programmieren). Das Hauptziel ist seid Implementation der ersten wirklich genauen Algorithmen schon erreicht.
Ich plane gerade ein etwas größeres Update auf Planeten 2.0. Ich möchte die Modellierungsfunktion stark aufwerten.
Gerade fertig gestellt, habe ich einen Vorhersagemodus. Mit dem kann man sehen , wie sich Veränderungen an den Bahnbewegungen der Planeten auswirken.
Unter Umständen baue ich auch noch eine Planeten Drag&Drop Funktion ein. Dann kann man sich sein Sonnensystem recht schnell zurecht basteln wie man möchte und so simulieren. Ich habe mir auch vorgenommen die Einlesefunktion zu erweitern, sodass sie auch offiziellere Dateiformate liest, das ist sicher ganz praktisch wenn man direkt die aus dem Internet heruntergeladenen Dateien verwenden kann.
Deklination und Rektazension mit zu berechnen ist sicher keine schlechte Idee, ich denke das lässt sich recht fix realisieren.

mfg
 

Kibo

Registriertes Mitglied
Das nächste Update steht zum Download bereit,

es ist allerdings nicht die 2.0 sondern nur 1.15. Das drag and drop ist noch nicht ganz ausgereift und das Äquatoriale Koordinatensystem ist noch nicht drinne, ihr könnt das ganze quasi als Beta betrachten.

Kurz zur Erklärung:
Die Planetendatei wurde leicht abgeändert, in der ersten Zeile stehen zusätzlich die Dateiversion und das Datum der Planetendaten.
Mit dem Datum kann man auch was anstellen, im Simulationsfenster kann man jetzt einstellen wie lange er simulieren soll, also beispielsweise 2000 Jahre oder bis zum 20.10.2019. Es gibt jetzt einen Vorhersagemodus, wenn man an bestimmten Planetendaten herumprobieren möchte (Beispielsweise spekulierte Asteroiden Flugbahnen), und wie gesagt gibt es jetzt auch eine Drag and Drop Funktion (noch sehr grob).

Downloadlink wie immer Sourceforge

mfg
 

Bernhard

Registriertes Mitglied
Ich möchte hier die interessanten Startparamater des Sitnikov-Problems festhalten:

KoordX KoordY Koordz v_X v_Y v_Z Masse Name dichte /1.15/20130721115300
-7.48e10 0.0 0.0 0.0 21068.5010849826 0.0 1.99e30 Sonne1 1.408
7.48e10 0.0 0.0 0.0 -21068.5010849826 0.0 1.99e30 Sonne2 1.408
0.0 0.0 1.0e4 0.0 0.0 0.0 1.0e4 Sitnikovia 1.408

1) Man lade sich von sourceforge die Datei planeten1.15.exe und starte diese einmal, um die Datei settings.ini zu erzeugen.
2) Nach dem Schließen des Programms ersetze man in der ebenfalls erzeugten Datei planeten.txt alle Eingaben durch die oben angegebenen Werte.
3) planeten1.15.exe erneut starten, Start-Button anklicken und unmittelbar danach mit der Maus gleich auf das kleine weiße Kreuz in der Bildmitte klicken.
4) Die Kreisbahnen der beiden Sonnen durch vorsichtiges Bewegen der Maus im Bild zentrieren und per erneutem Mausklick in der Position fixieren.

5) Beobachten, wie Sitnikovia nach mehreren Umläufen der Sonnen die Position in der Mitte des Bildes verlässt und später aus dem System katapultiert wird.
 
Zuletzt bearbeitet:

yetiholz

Registriertes Mitglied
Hallo Bernhard, Hallo Kibo,
ja es hat gleich funktioniert mit der Anleitung von S. 19! :)
(super interessant)
(ich hab's mir gleich nochmal angesehen und bei der 2. Simulation ist Sitnikovia nach dem Katapultieren für einen kurzen Moment wieder in die Mitte und dann wieder raus)
(auf den Start button musste ich im Programm noch klicken, da hab ich eine Weile dafür gebraucht) :)
(bei der 3. Simulation ist Sitnikovia von der 1. Sonne zur 2. Sonne katapultiert worden) :)
 

Kibo

Registriertes Mitglied
Hallo Yeti,

Die Instabilität dieses Systems lässt sich in dem Programm natürlich auf Rundungsfehler zurückführen. In der Realität wäre so ein System wohl stabiler, die Bahn des Planeten schwankt aber auch da unvorhersehbar. Auf Sitnikovia möchte ich nun wirklich nicht leben:
Jahrzehntelange eiskalte Winter, gefolgt von ebenso langen brütend heißen Sommern oder auch Jahreszeiten von nur wenigen Wochen, nahezu alles ist jederzeit möglich. Freut mich jedenfalls, dass dir mein Programm gefällt.

mfg
 

yetiholz

Registriertes Mitglied
ja super :)
(jetzt bei der xten Simulation ist Sitnikovia von der 1. zur 2. Sonne und dann wieder zur 1. Sonne und dann raus)
(ich finde dass immer wieder total spannend) :)
 

yetiholz

Registriertes Mitglied
ich hab noch eine Sonne (3.) hinzugefügt :)
(großartig)
(leider hauts dann Sitnikovia raus, da mach ich noch was) :)
 

yetiholz

Registriertes Mitglied
@ SRMeister
ja, mit 4 Sonnen geht's. :)
hier die Koordinaten:
KoordX KoordY Koordz v_X v_Y v_Z Masse Name dichte /1.15/20130721115300
-7.48e10 0.0 0.0 0.0 42137.0021699652 0.0 1.99e30 Sonne1 1.408
7.48e10 0.0 0.0 0.0 -42137.0021699652 0.0 1.99e30 Sonne2 1.408
0.0 -7.48e10 0.0 -42137.0021699652 0.0 0.0 1.99e30 Sonne3 1.408
0.0 7.48e10 0.0 42137.0021699652 0.0 0.0 1.99e30 Sonne4 1.408
0.0 0.0 1.0e4 0.0 0.0 0.0 1.0e4 Sitnikovia 1.408

(Wen es interessiert, einfach Koordinaten in Planeten.txt einfügen)
Programm von Kibo:
https://sourceforge.net/projects/smallplanetarys/files/latest/download?source=files
(super Anleitung hier auf S.19)
 
Zuletzt bearbeitet:
Oben