J'essaie de mesurer l'angle entre deux points par rapport à l'axe X, en degrés.Math.Atan2 donne une valeur incorrecte lors de la conversion en degrés
De la recherche à d'autres messages sur un débordement de pile, je l'ai utilisé le code suivant:
private double GetAngleBetweenTwoPoints(double x1, double y1, double x2, double y2)
{
return Math.Atan2(y2 - y1, x2 - x1) * 180.0/Math.PI;
}
Le problème est, cela semble fonctionner très bien pour certaines valeurs, mais pas d'autres. Par exemple, passer (0, 0, 1, 1) renvoie correctement la valeur 45. Cependant, passer (0, 0, 2, 1) renvoie 26.565051177078 alors que j'attendrais 22.5.
Qu'est-ce que je fais mal?
Rien ne va pas. C'est correct, vous vous attendez juste mal – Li357
oui, je comprends mieux maintenant. Merci –