- Sami,
Bonjour !
Alors voilà : depuis pas mal de temps déjà, je m'intéresse à l'astronautique, grâce aux jeux Kerbal Space Program et Simple Rockets (je vous conseille d'ailleurs d'y jetter un oeil si vous ne connaissez pas, ça vaut le coup !)
Ces jeux qui sont très réalistes et exigeants d'un point de vue physique, m'ont poussé à me renseigner sur ces mécaniques telles qu'elles s'appliquent en vrai, pour pouvoir progresser dans le jeu.
J'ai ainsi beaucoup appris, et j'ai eu le désir de créer moi-même un petit simulateur physique en 2D, dont voici un aperçu :
Mais un problème que j'ai très vite rencontré fut celui de la prédiction des orbites : comme vous pouvez le voir, la trajectoire du vaisseau ci-dessus est correctement prédite, il n'y a pas de problème. Seulement, la méthode que j'utilise actuellement est un peu "sale" : je calcule la position du vaisseau 10000 fois chaque frame (je ne suis plus sûr du nombre), avec un certain temps d'écart entre chaque position, puis j'utilise la mécanique Newtonienne pour déterminer la position suivante, je relie le tout, et hop ! ça marche !
… Ou pas ! Comme vous vous en doutez, cette techniques a des limites (beaucoup) : Déjà, une utilisation des ressources très importante, ensuite, la prédiction n'est pas toujours juste ou complète : lorsque l'on se raproche trop du corps autour duquel on orbite, la prédiction est faussée, et quand l'orbite est trop grande, la prédiction ne va pas "assez loin" :
C'est pour ça que j'ai envie de changer de méthode et d'utiliser les équations de Kepler (malheureusement, après des recherches, je n'ai pas tout compris), et j'aimerais savoir si il existe une formule qui, en fonction de la position et de la vitesse du vaisseau puisse me donner l'équation de l'ellipse de la trajectoire (et aussi qui puisse détecter quand la trajectoire est hyperbolique - quand l'eccentricité est supérieure à 1), ce qui m'éviterait les calculs fastidieux que mon pauvre programme se voit obligé d'effectuer. Voilà, merci d'avance !
P.S. : J'ai aussi posté ce message sur OC, désolé du double post (je sais pas si ça se fait ou si c'est pas correct de poster le même message sur deux forum… Vous me direz ?)