Danke dir, das sagt wohl alles aus:
Ein anderes Problem (ich glaube es ist eher ein physikalisches, daher nur Pseudocode):
Code:
# Mir liegen die Werte in den Grundeinheiten vor, d.h. m, s und kg
# Vektoren (Richtung und Position) enthalten X, Y, Z
PlanetX = Aktueller Planet, für den gerade neue Werte berechnet werden
Mache mit allen Planeten (jeweils PlanetY), wenn PlanetX <> PlanetY:
Kraft := (0.0000000000667428 * PlanetX.Masse * PlanetY.GetMasse) / (Abstand(PlanetX, PlanetY))
Summe := Summe + Kraft * (PlanetY.Position - PlanetX.Position)
# Neue Richtung (gerichtete Geschwindigkeit)
PlanetX.Richtung := PlanetX.Richtung + (dt * (Summe / PlanetX.Masse))
PlanetX.Position := PlanetX.Position + (dt * PlanetX.Richtung)
Die Planetenbewegungen sehen nicht sehr natürlich aus und wenn ich ehrlich bin, bin ich beim Tippen dieses Beitrages in mehreren Zeilen gestutzt. Vielleicht komme ich noch selbst darauf, was ich falsch gemacht habe, ansonsten bräuchte ich nochmal eure Hilfe.