Bonjour,

J'ai besoin de faire en sorte qu'un objet fixe soit toujours tourné vers un point mobile, sur un plan orthonormé (2D).

J'utilise donc la fonction tan ex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
angle = (Math.tan((World.x - Objet.x) / (World.y-Objet.y))*(180/Math.PI));
Cela fonctionne cependant je suis obligé de mettre des conditions lorsque une valeur ou l'autre est inférieur...Du coup je bricole un peu la chose par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
   if ( Math.abs(Game.x - x) < Math.abs(Game.y - y) ){
            if ( Game.y - y > 0 ){
                d = (Math.tan((Game.x - x) / (Game.y-y))*(180f/(float)Math.PI))-90f;
            }else{
                d = (Math.tan((Game.x - x) / (Game.y-y))*(180f/(float)Math.PI))+90f;
            }
        }
Déjà j'aime pas ce genre de bricolage est il vraiment nécessaire ou connaissez vous une façon plus simple pour obtenir le résultat sans mettre 36000 conditions ?

En plus, lorsque j'arrive sur les bords l'angle qui en résulte devient légèrement plus grand ce qui fait une saccade quand on passe de l'un à l'autre.

Merci si vous pouvez m'aider.