Ich erstelle einen einfachen Astronomiesimulator, der die Newtonsche Physik verwenden soll, um die Bewegung von Planeten in einem System (oder anderen Objekten) zu simulieren. Alle Körper sind Kreise in einer euklidischen Ebene mit Eigenschaften wie Position, Geschwindigkeit, Masse, Radius und der resultierenden Kraft.
Ich möchte das Universum in kleinen Zeitschritten aktualisieren, normalerweise in wenigen Millisekunden, bin mir aber nicht sicher, wie ich die Positionsänderungen korrekt berechnen soll.
Die Kraft ist einfach: fr = sum(G * body.m * bodyi.m / dist(body, bodyi)^2)
.
Aber wie gehe ich von dort aus weiter?
Ich könnte das machen:
a = Fr/body.m
v += a*dt
position += v*dt
Aber das wäre natürlich falsch. Vielleicht, wenn ich 0,5 als Faktor für die Positionsberechnung hinzufüge?