Hallo!
Gleich vorweg hier geht es zu meiner Homepage mit mehr Information zu
den beiden Simulationen:
https://stoppi-homemade-physics.de/astrosimulationen/
Kurzer Hintergrund: Im zarten Alter von 17 Jahren stieß ich in der
Astronomiezeitschrift Astronomy vom Dezember 1988 auf eine mich
faszinierende Astrosimulation geschrieben in BASIC.
Bei der nächsten Gelegenheit tippte ich den Code in einen Computer und
blickte verblüfft auf die Resultate. Damals fragte ich mich, wie so
wenige Zeilen Code solch für mich komplexeste Bewegungen simulieren
kann. Heute kenne ich den mathematischen/physikalischen Hintergrund
dazu.
Anfang der 90er habe ich dann ein analoges Programm in TURBO-PASCAL
geschrieben und aktuell jetzt ein solches mit dem Arduino.
Es gibt zwei Varianten der Simulation:
Variante 1: Simulation der Kollision einer Galaxie mit einem schwarzen
Loch in allen drei Raumdimensionen
Variante 2: Simulation der Kollision einer Galaxie mit einer anderen
Galaxie in der x-y-Ebene.
Mit dem Arduino Due erzielt man verglichen mit einem Arduino Mega
deutlich schnellere Berechnungen. Ausgegeben wird das Ganze dann auf
einem 480x320 Pixel Display (ILI9486).
Im Startbildschirm können etliche Parameter, z.B. Startort und
Startgeschwindigkeit, Anzahl der Sterne, Masse der Zentralkörper bzw.
des schwarzen Lochs eingegeben werden. Dies habe ich mit einem
Potentiometer am analogen Eingang umgesetzt.
Danach kommt die eigentliche Simulation. Hier lässt sich die zeitliche
Schrittweite dt und der Zoom-Faktor verändern. Mit einer Taste gelangt
man dann wieder zum Startbildschirm.
Hier nun die beiden Arduino-Codes:
[Mod: Listing des mehreren hundert Zeilen langen Codes gelöscht. An TO:
Bitte den Code als Datei-Anhang an den Beitrag anhängen, danke]
Hallo,
das Christoph den Quelltext besser als Anhang gepackt hätte, muss er
sich Vorwerfen lassen.
Das der Quelltext seinen Ursprung (Basic) nicht verheimlichen kann, sei
es drum. Nicht jeder wird als perfekter Programmiere geboren.
Ansonsten hat Christoph ein bemerkenswertes Programm geschrieben, was es
durch aus Wert ist veröffentlicht zu werden.
Nicht sachliche Beleidigung ist aber vom Arsch und von Markus.
Bei Aussagen wie:
>Anfang der 90er habe ich dann ein analoges Programm in TURBO-PASCAL>geschrieben
... klappt’s mir die Zehennägel hoch
Die digitale Version berechnet wahrscheinlich: Bumm|nicht bumm;-)
Obwohl es im Vakuum wohl etwas leiser zugeht.
Nur mal blöd gefragt: Was ist der Sinn, das auf einem Arduino zu machen?
Ich verwende die Dinger zum Messen, Steuern, Regeln, für mobile
Anwendungen oder wenn Stromversorgung ein Thema ist. Aber für eine
Astrosimulation? Oder ist das ganze so eine Art "Kiosk-Rechner" für
Veranstaltungen mit Optimierung auf low-budget?
Ich hoffe, du kannst den Quatsch von defizitären Forumisten entspannt
ignorieren.
Die Aktion finde ich prima und interessant, auch wenn sich gleich wieder
reihenweise Leute als Nörgler und Besserwisser blamieren.
Wer etwas interessanteres hat, darf es gerne zeigen...
Und ja, man darf gerne etwas machen, weil es Spaß macht. Auch dann, wenn
es anders auch ginge.
Felix W. schrieb:> Nur mal blöd gefragt: Was ist der Sinn, das auf einem Arduino zu machen?
Weil man es kann und Lust dazu hat?
Welchen Sinn soll es haben, überhaupt Sterne zu simulieren, wo sie doch
ohne Berechnung genauso fliegen wie mit?
Also die Frage nach dem "warum mit Arduino" ist schon berechtigt, da
sich dieser für diese Aufgabe nicht gerade aufdrängt.
Der Grund ist einfach: Ich wollte etwas mobiles und kompaktes haben, was
man ohne viel Aufwand am Tag der offenen Tür in der Schule oder auf
einer Messe präsentieren kann. Die interessierten Kinder und
Jugendlichen sollen dann einfach Ihren Spaß an dieser Spielerei haben
und sehen, dass es auch lehrreiche Computerspiele gibt und es auch
selbst ohne Laptop oder PC umgesetzt werden kann ;-)
Klaus W. schrieb:> Felix W. schrieb:>> Nur mal blöd gefragt: Was ist der Sinn, das auf einem Arduino zu machen?>> Weil man es kann und Lust dazu hat?>> Welchen Sinn soll es haben, überhaupt Sterne zu simulieren, wo sie doch> ohne Berechnung genauso fliegen wie mit?
Das ist kein sinnvolles Argument. Der TE hat eine tolle Homepage mit gut
ausgearbeiteten Experimenten, die auf viel Sachverstand schließen
lassen. Eine gute Sternsimulation ist eine Herausforderung an sich.
Warum lohnt es sich, das mit der Herausforderung Arduino mit
Grafik-Display zu verbinden?
Das ist übrigens eine reine Sachfrage aus Interesse und kein Genörgel.
Christoph E. schrieb:> Also die Frage nach dem "warum mit Arduino" ist schon berechtigt, da> sich dieser für diese Aufgabe nicht gerade aufdrängt.>> Der Grund ist einfach: Ich wollte etwas mobiles und kompaktes haben, was> man ohne viel Aufwand am Tag der offenen Tür in der Schule oder auf> einer Messe präsentieren kann. Die interessierten Kinder und> Jugendlichen sollen dann einfach Ihren Spaß an dieser Spielerei haben> und sehen, dass es auch lehrreiche Computerspiele gibt und es auch> selbst ohne Laptop oder PC umgesetzt werden kann ;-)
Danke für die Antwort, scheint also in der Tat ein
Low-budget-Kiosk-Rechner zu sein. Klingt nach einem guten Projekt. Der
Rest Deiner Homepage gefällt mir als Physiker ansonsten auch, an den
Quantenexperimenten werde ich mich mal versuchen.
Felix W. schrieb:> Das ist übrigens eine reine Sachfrage aus Interesse und kein Genörgel.
Mit Nörgler meinte ich auch nicht dich, sorry falls du das auf dich
bezogen hast.
Felix W. (fhwe)
27.10.2021 13:42
>Nur mal blöd gefragt: Was ist der Sinn, das auf einem Arduino zu machen?>Ich verwende die Dinger zum Messen, Steuern, Regeln, für mobile>Anwendungen oder wenn Stromversorgung ein Thema ist.
Meiner Meinung nach ganz einfach weil es eine philosophische Dimension
hat, geschätzte 100 Milliarden Sterne in wenigen KB eines Arduino zu
stopfen, der wiederum aus ein paar 100 Milliarden Protonen besteht.
Ich gehe mal nicht weiter auf die Implementation ein und stelle nur eine
Frage: Warum nennst du es Galaxienkollision und nicht
Sonnensystemkollision? Ein Mehrfachsternsystem mit 80 Sternen ist
vermutlich wahrscheinlicher, als eine Galaxie mit 80 Sternen.
Schönes Projekt. Ich dachte nur zuerst, es sollten die Galaxien von Bild
Arduino_40 simuliert werden. Das hätte mich auf einem Arduino doch
stuzig gemacht.
mh schrieb:> Warum nennst du es Galaxienkollision und nicht Sonnensystemkollision?
Ich vermeute mal, weil die Objekte vergleichbare Masse haben, während
das Sonnensystem nur einen absolut dominierenden Körper hat (solange
Nemesis nicht nachgewiesen ist).
mh schrieb:> Ein Mehrfachsternsystem mit 80 Sternen ist> vermutlich wahrscheinlicher, als eine Galaxie mit 80 Sternen.
Soweit ich weiß, hat das größte Bekannte Systm sechs Sterne.
Dussel schrieb:> mh schrieb:>> Ein Mehrfachsternsystem mit 80 Sternen ist>> vermutlich wahrscheinlicher, als eine Galaxie mit 80 Sternen.> Soweit ich weiß, hat das größte Bekannte Systm sechs Sterne.
Und wieviele Sterne hat die kleinste bekannte Galaxie?
Wenn man das Ganze nicht so wie ich am Arduino betreibt kann man ja die
Anzahl der Sterne stark erhöhen, die Schrittweite reduzieren bzw. auf
ein anderes numerisches Lösungsverfahren für dieses Anfangswertproblem
(z.B. Runge-Kutta) zurückgreifen. Hier wurde es halt schon relativ bald
mit dem Speicher eng.
Aber einige finden in jeder noch so klaren Suppe ein Haar...
Christoph E. schrieb:> Wenn man das Ganze nicht so wie ich am Arduino betreibt kann man ja die> Anzahl der Sterne stark erhöhen, die Schrittweite reduzieren bzw. auf> ein anderes numerisches Lösungsverfahren für dieses Anfangswertproblem> (z.B. Runge-Kutta) zurückgreifen.
Und die ganzen anderen Effekte hinzufügen, die fehlen.
Christoph E. schrieb:> Aber einige finden in jeder noch so klaren Suppe ein Haar...
Du könntest dem ganzen auch einfach einen realistischen Namen geben,
sowas wie "N-Teilchensimulation mit N_max=80 und numerischen Problemen."
>Hier wurde es halt schon relativ bald mit dem Speicher eng.
Ja, weil der Speicherplatzbedarf quadratisch mit der Teilchenanzahl
wächst (siehe die Deklaration der Kraftmatrix). Das ist der limitierende
Fakt an dieser Gaudi.
>... einen realistischen Namen geben, sowas wie "N-Teilchensimulation mit>N_max=80 und numerischen Problemen."
"Nichtrelativistische Simulation eines zweidimensionalen
N-Punktteilchensystems mit dem Euler-Verfahren für N in der
Größenordnung 10^2 unter ausschließlicher Berücksichtigung von
Gravitationskräften ohne Reibung"? Das geht beim Marketing doch niemals
durch :-)
Eine Galaxiensimulation ist noch ein Witz. Denn bisher ist noch nicht
klar wie eine Galaxie so zusammengehalten wird, dass die Arme so
aussehen wie sie aussehen. Diese Observation ist uebrigens auch die
Motivation nach der dunklen Materie zu suchen. Weil eben die
Galaxiensimulationen nicht hinkommen.
Trotzdem ist das ein tolles Projekt, ohne es angeschaut zu haben.
>Eine Galaxiensimulation ist noch ein Witz. Denn bisher ist noch nicht>klar wie eine Galaxie so zusammengehalten wird, dass die Arme so>aussehen wie sie aussehen.
Das finde ich einen interessanten Aspekt ...
Obwohl man's nicht verstanden hat, simuliert man doch:
https://scienceworksmuseum.org/galaxy-collision-simulator/