Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Databyte

Alter Hase

  • »Databyte« ist der Autor dieses Themas

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

1

06.08.2011, 14:39

Gravitationsphysik

Hallo

Also ich wollte in meinem Spiel (welches im Weltraum spielt) eine möglichst realistische Gravitation von Himmelskörpern haben.
Dabei sollen alle Körper rund sein und gegenseitig auf einander einwirken. Also zum Beispiel hat man eine Sonne und einen Neutronenstern die sich umeinander drehen
und dann noch mehrere Planeten mit Monden und so weiter. Das Problem ist jetzt das ich echt nicht weiß wo ich anfangen soll. Ich müsste mich erstmal
ein bischen mit Physik beschäftigen. Allerdings finde ich die richtigen Anlaufstellen nicht.

Könntet ihr mir da was empfehlen, was vielleicht auch gleich mit ein bischen Informatik zusammenhängt.

Und dann muss ich das ganze noch Simulieren :) ... kann ich das irgendwie Zeitlos hinkriegen ? So dass ich zum Beispiel einfach einen Ausgangspunkt habe und dann (deterministisch) jeden Zeitpunkt errechnen kann ? Das bezfeifle ich allerdings ein bischen, denn es handelt sich ja doch um ein mehr oder weniger chaotisches Systeml, oder ?

Databyte

Alter Hase

  • »Databyte« ist der Autor dieses Themas

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

3

06.08.2011, 15:00

Ok ich denke eine Abstraktion wird es auch tun :) muss mal überlegen wie ich das mache^^
Vielleicht sollte ich erstmal mit einer Sonne und einem Planeten anfangen xD

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

06.08.2011, 15:07

Ich denke das sollte fürs Erste genug sein ;)

DarioFrodo

Treue Seele

Beiträge: 349

Wohnort: Kerkau, 100km nördlich von Magdeburg

Beruf: Selbstständig

  • Private Nachricht senden

5

07.08.2011, 09:10

Das Problem dabei ist, das die Wissenschaft selbst noch nicht genau weiß wie die Physik im Kosmos eigentlich funktioniert.
Eine Nachbildung der Astrophysikalischen Gesetzte wird also nicht möglich sein. Du kannst maximal ne Annährung schaffen.
Aber wenn du so gut bist mit deiner Annährung und die näher dran bist an der Wahrheit, als der aktuelle Entwicklungsstand der Forschung.. kannst du vielleicht noch einen Nobelpreis abstauben =D
Erst wenn der letzte Fluss vergiftet,
der letzte Baum gefällt,
der letzte Fisch gefangen,
dann werdet ihr merken, dass man Geld nicht essen kann

Man verkauft die Erde nicht, auf der die Menschen wandeln.

- Indianerweisheiten

Ich bin auch ein einhornimmond ;)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

07.08.2011, 09:41

@DarioFrodo:
Wenn man nur die Gravitation berücksichtigt, ist die "Annäherung" schon beinahe perfekt.
Das, was man heute noch nicht so richtig erklären kann (dunkle Energie), hat so winzig kleine Auswirkungen, dass kein Mensch in der Lage wäre sie zu erkennen.

Databyte

Alter Hase

  • »Databyte« ist der Autor dieses Themas

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

7

07.08.2011, 10:55

Also mehrere Planeten mit unterschiedlicher Masse und Startgeschwindigkeit hab ich jetzt mal simuliert und das sieht schon recht gut aus. Es Bleibt leider noch das Problem,
dass es halt Framerate-abhängig ist, wie die Simulation verläuft, weil nur im Abstand von alle paar millisekunden die Kräfe mit einberechnet werden.

Ich werde mit jetzt nochmal das mit dem N-Body-problem angucken. Das sollte die lösung sein, auch wenn ich vermute dass das nicht ganz einfach wird. ;)
Sollte ich es schaffen mach ich ein Tutorial xD

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

07.08.2011, 11:42

Es Bleibt leider noch das Problem,
dass es halt Framerate-abhängig ist, wie die Simulation verläuft, weil nur im Abstand von alle paar millisekunden die Kräfe mit einberechnet werden.

Das lässt sich leicht lösen, indem Du Deinen Loop ein bisschen änderst und die "Updates" mit festen Zeitschritten machst.
Sammle die zu verarbeitende Zeit in einer Variable und arbeite sie ab, wenn sie die Länge des Zeitschritts erreicht/überschreitet, so lange bis sie sie wieder unterschreitet.
So wird das normalerweise bei Spielen gemacht. Gerade bei Physik kriegst Du andernfalls völlig unreproduzierbare Ergebnisse.

Databyte

Alter Hase

  • »Databyte« ist der Autor dieses Themas

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

9

07.08.2011, 13:38

Jop das war eine Idee. Die andere ist, ich versuche es mit Differentialgleichungen ;) Ich will mir das zumindest mal angucken, denn es sieht interessant aus :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

07.08.2011, 19:29

Hmm? Wie meinst Du das jetzt? Du kommst nicht darum herum, das System schrittweise zu aktualisieren.

Werbeanzeige