Ich versuche ein einfaches Spiel zu machen, in dem ein Raumschiff gestartet wird und dessen Weg dann von der Schwerkraft der Planeten beeinflusst wird.
Ähnlich wie bei diesem Spiel: http://sciencenetlinks.com/interactives/gravity.html
Ich möchte wissen, wie sich die Planeten in diesem Spiel auf das Raumschiff auswirken, damit sich ein Raumschiff um einen Planeten drehen und seine Richtung ändern kann.
Ich habe es geschafft, einige falsche Ergebnisse zu erzielen, bei denen sich das Raumschiff mit Vektoren in einer riesigen Ellipse um den Planeten dreht oder nur geringfügig von der Schwerkraft eines Planeten beeinflusst wird.
Danke im Voraus.
ps ich habe viel programmiererfahrung nur keine mit game dev zu tun.
Jeder Planet sollte ein Gravitationsfeld haben, das jedes Objekt in seiner Nähe in Richtung seines Zentrums zieht. Mit anderen Worten, Sie sollten bei jedem Schritt der Simulation eine Kraft von der Position des Raumschiffs auf das Zentrum des Planeten ausüben.
Diese Kraft hängt von der Masse beider Objekte ab, aber in diesem Fall können Sie, da die Masse des Raumschiffs im Vergleich zu der des Planeten wahrscheinlich unbedeutend ist, einfach verschiedene Konstanten ausprobieren, je nach Größe des Planeten, bis Sie das richtige Gefühl haben.
Am wichtigsten ist, dass diese Kraft umso schwächer wird, je größer der Abstand zwischen beiden Objekten ist. Sie tun dies, indem Sie durch den quadratischen Abstand zwischen beiden dividieren. Nach einer gewissen Entfernung möchten Sie möglicherweise manuell abschalten und die Anwendung der Kraft beenden.
Übersetzen Sie diese Kraft einfach in eine Beschleunigung, und die grundlegenden physikalischen Gleichungen sollten den Rest erledigen.
Im Pseudocode
quelle