Einzelnen Beitrag anzeigen

fishbrain

Registriert seit: 17. Sep 2007
Ort: Regensburg
132 Beiträge
 
#1

Gravitationssimulation: Simulationsgeschwindigkeit - Berechnungsintervall

  Alt 3. Sep 2010, 06:45
Für die anstehende Seminararbeit (Thema: Planetenbahnen im Doppelsternsystem) brauche ich eine anständige Simulation.
Nun habe ich selbst was geschrieben bin aber jetzt schon auf Probleme gestoßen:

In Sonnensystemen allgemein und in Doppelsternsystemen im Besonderen gibt es enorme unterschiede in den Umlaufzeiten der Planeten/Sonnen.
Zb. hat Merkur nur eine Umlaufzeit von ca 87 Tagen während schon Jupiter 12 Jahre braucht.
D.h. man kann nicht beide gleichzeitig sinnvoll anzeigen. (prinzipiell kein Problem)
Das Problem an der Sache ist aber nun, dass wenn eine Simulationsgeschwindigkeit gewählt wird, die für das Betrachten von Jupiter geeignet ist, dass die Berechnungsintervalle für Merkur zu klein werden.

Praktisch endet das meist in einer Änderung der Umlaufbahn wenn nicht sogar in einem Verlassen des Systems.


Meine bisherige Lösung:

Zeichenmethode und Berechnungsmethode trennen:
Die Zeichenmethode wird per Timer alle 30ms aufgerufen und die Berechnungsmethode bei Application.onIdle.

Dabei kriege ich im Leerlauf 150.000 Berechnungen pro Sekunde und 33 FPS.
Bei allen inneren Planeten + Sonne (also 5 Körper) sind es ca 50.000 BPS.

Nun meine Frage:
Macht meine bisherige Lösung (konstante FPS soviel BPS wie möglich) Sinn?
Bzw. ist dieses Problem mit normalen Rechnern überhaupt lösbar?

Für meine Seminararbeit sollten Merkur + Saturn gut laufen.

Wäre über Ideen dankbar
  Mit Zitat antworten Zitat