J'essaye de faire un jeu simple où un vaisseau spatial est lancé et ensuite son chemin est affecté par la gravité des planètes.
Similaire à ce jeu: http://sciencenetlinks.com/interactives/gravity.html
Je souhaite savoir comment reproduire l'effet des planètes sur le vaisseau spatial dans ce jeu afin qu'un vaisseau spatial puisse «boucler» autour d'une planète pour changer de direction.
J'ai réussi à obtenir de faux résultats où le vaisseau spatial fait une boucle dans une énorme ellipse autour de la planète ou n'est que légèrement affecté par la gravité d'une planète à l'aide de vecteurs.
Merci d'avance.
ps J'ai beaucoup d'expérience en codage, rien à voir avec le développement de jeux.
Chaque planète doit avoir un champ gravitationnel qui tire tout objet à proximité vers son centre. En d'autres termes, vous devez appliquer une force de la position du vaisseau spatial au centre de la planète à chaque étape de la simulation.
Cette force dépend de la masse des deux objets, mais dans ce cas, comme la masse du vaisseau spatial est probablement insignifiante par rapport à celle de la planète, vous pouvez simplement essayer différentes constantes en fonction de la taille de la planète jusqu'à ce que vous vous sentiez bien.
Plus important encore, cette force s'affaiblit plus la distance entre les deux objets est grande. Pour ce faire, divisez par la distance au carré entre les deux. Après une certaine distance, vous voudrez peut-être couper "manuellement" et arrêter d'appliquer la force.
Il suffit de traduire cette force en accélération, et les équations physiques de base devraient s'occuper du reste.
En pseudocode
la source