Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Algorithmus isolieren


Passi077 - Fr 06.01.06 18:29
Titel: Algorithmus isolieren
Hi,

ich hab einen Quelltext in Java, der die Umlaufbahn eines Planeten um ein Mehrfachsternsystem errechnet.

Leider blicke ich in diesem Quelltext kaum durch. Ich brauche eigentlich nur die Formeln, wie ich bezogen auf die Zeit und den angegebenen Variablen die Position der Sonnen und des Planeten errechnen kann.

Hier das Applet:

http://lexikon.astronomie.info/java/mk/mk.html

Ich brauche nur die Berechnung des grünen inneren Kreises und die der lilanen Linie aussenrum. Bezogen auf die Werte, die man unten angeben kann.

Hier der Quelltext:

http://lexikon.astronomie.info/java/mk/mk.txt


Ich hab zwar vermutlich die Berechnen Funktion gefunden aber da wird ja mit Arrays etc. gearbeitet anscheinend, ich blick da jedenfalls nicht durch.

Wie gesagt ich brauche nur die Formeln für Sonnen und Planet in Abhängigkeit von der Zeit und den Variablen. Wäre super, wenn mir die jemand verständlich aus dem Quelltext rausschreiben könnte.

Danke + Grüße
Passi


Allesquarks - Sa 07.01.06 01:30

Normalerweise sind Planetensysteme vielteilchensysteme, die sich analytisch nicht lösen lassen
Daraus ergeben sich zwei Möglichkeiten

1. Du simulierst das System durch infinitesimale Verrückungen Hierzu brachst du das Gravitationsgesetz sowie das 1.? Newtonsche Gesetz (vielleicht wars auch das 2. oder 3. egal eins von denen mit ).

2. Du reduzierst das System auf Sonne und Planet benutzt die "reduzierte Masse" (korrigiertes Modell, da Systemschwerpunkt (Drehachse) nicht im Sonnenmittelpunkt liegt) und wendest anschließend eins der keplerschen Gesetze an.


Alle sind leicht verständlich und auch einfach zu finden.

//Edit: den Smily hab ich da gar nicht hingesetzt
Moderiert von user profile iconraziel: Smily eliminiert 8)


Horst_H - Sa 07.01.06 11:25

Hallo,

wenn Du Dir mk.txt anschaust, taucht dort Runge-Kutta zur Loesung von Differentialgleichungen auf.
In der Zeichenroutine steht auch
Zitat:
{
RungeKutta(dt);
T = T + dt;
}

Also wird schrittweise eine Loesung angenaehert.
Es wird fuer jeden Koerper die resultierende Gravitationskraft(x,y Richtung)(-> m*a=m*s") betimmt(Summe aller Kraefte mit den anderen Koerpern), und diese zweifach integriert ergibt die Srreckenanederung.

Die Kraft ist nach Newton in Richtung der Verbindungslinie der Schwerpunkte und hat den Betrag
Fg := Gamma*Masse1*Masse2/Abstand^2; Gamma = Gravitationskanstante;
Siehe http://www.fys-online.de/wissen/ph/gravitation/gravitationskonstante.htm und http://www.szallies.de/Konstanten.htm

Gruss Horst