Forum: Projekte & Code Astrosimulationen/Galaxienkollision mit Arduino


von Christoph E. (stoppi)



Lesenswert?

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]

: Bearbeitet durch Moderator
Beitrag #6860749 wurde von einem Moderator gelöscht.
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Bitte den Quellcode als Datei-Anhang an den Beitrag anhängen. Ich habe 
das ultralange Listing aus dem Eröffnungsposting gelöscht.

: Bearbeitet durch Moderator
von Volker Z. (vzavza)


Lesenswert?

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.

von Sebastian S. (amateur)


Lesenswert?

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.

von Christoph E. (stoppi)



Lesenswert?

Hier nun die beiden Programme als Dateianhang...

@Sebastian: analog
    1.
    bildungssprachlich
    ähnlich, vergleichbar, gleichartig; entsprechend

: Bearbeitet durch User
von Felix W. (fhwe)


Lesenswert?

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?

von Klaus W. (mfgkw)


Lesenswert?

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.

von Klaus W. (mfgkw)


Lesenswert?

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?

von Christoph E. (stoppi)


Lesenswert?

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 ;-)

von Felix W. (fhwe)


Lesenswert?

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.

von Felix W. (fhwe)


Lesenswert?

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.

von Klaus W. (mfgkw)


Lesenswert?

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.

von chris_ (Gast)


Lesenswert?

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.

von OldMan (Gast)


Lesenswert?

Das ist ein schönes Projekt.
Auf einer großen LED-Matrix muss das noch imposanter aussehen.

von mh (Gast)


Lesenswert?

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.

von udok (Gast)


Lesenswert?


von Dussel (Gast)


Lesenswert?

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.

von mh (Gast)


Lesenswert?

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?

von Christoph E. (stoppi)


Lesenswert?

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...

von mh (Gast)


Lesenswert?

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."

von Klaus W. (mfgkw)


Lesenswert?

Christoph E. schrieb:
> Aber einige finden in jeder noch so klaren Suppe ein Haar...

solange es keine Echtzeit-Simulation wird...

von LostInMusic (Gast)


Lesenswert?

>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 :-)

von Christian B. (cb1969)


Lesenswert?

Einfach ein schönes Projekt.

Lass Dich von den Berufsnörglern nicht runterziehen.

Danke für's Zeigen!

von Pat B. (pat_b)


Lesenswert?

Tolles Projekt und Seite! DANKE!

: Bearbeitet durch User
von zipp (Gast)


Lesenswert?

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.

von chris_ (Gast)


Lesenswert?

>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/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.