Zitat von
Khabarakh:
Genauer gehst du so vor: Jeder Körper besitzt eine Position p und einen Geschwindigkeitsvektor v. Wie du schon beschrieben hast, summierst du die Kräfte zu allen anderen Körpern und kommst so auf einen Beschleunigungsvektor a.
Die neue Geschwindigkeit ist dann v' = v + dt * a und die Position p' = p + dt * v.
Wobei man dann aber schon sowas wie einen Runge-Kutta benutzt und nicht das Euler-Verfahren. Sonst geht die Simulation ziemlich schnell kaputt.
Wir haben in der Uni mal dasselbe simuliert und dabei einen Runge-Kutta verwandt, wobei Zwischenschritte noch interpoliert wurden, um bei reduzierter Anzahl Integrationsschritte noch eine "flüssige" Bewegung zu haben.
Angehangen habe ich Dir mal die Startwerte für die Planeten, die wir damals benutzt haben. Es sind für Sonne, Planeten und unseren Mond die Position und Geschwindigkeit zu verschiedenen Tagen angegeben. Als Startwerte reichen natürlich pro Körper ein Satz von Daten, die anderen kannst Du aber vielleicht zur Kontrolle benutzen. IIRC waren das nämlich "echte" Daten
Christian S.
Admin in der Entwickler-Ecke