ATAN2 |
ArcTangente à 2 coordonnées |
---|---|
Langage C | math.h |
Syntaxe
double atan2(double y,double x) |
Paramètres
Nom | Description |
---|---|
y | Ce paramètre permet d'indiquer la coordonnée Y |
x | Ce paramètre permet d'indiquer la coordonnée X |
Retour
Valeur | Description |
---|---|
-π à π | Ces valeurs permettent d'indiquer les radians de l'arc tangente. |
Description
Cette fonction trigonométrique retourne l'«ArcTangente» de Y/X.
Algorithme
MODULE SQRT(X) SI X = 0.0 ALORS RETOURNE 0.0 SINON M ← 1.0 XN ← X BOUCLE FAIRE TANT QUE XN >= 2.0 XN ← 0.25 x XN M ← 2.0 x M FIN BOUCLE FAIRE TANT QUE BOUCLE FAIRE TANT QUE XN < 0.5 XN ← 4.0 x XN M ← 0.5 x M FIN BOUCLE FAIRE TANT QUE A ← XN B ← 1.0 - XN BOUCLE REPETER A ← A x (1.0 + 0.5 x B) B ← 0.25 x (3.0 + B) x B x B FIN BOUCLE JUSQU'A B ← 1.0E - 15 RETOURNE A x M FIN SI MODULE ATAN(X) A ← 1.0 / SQRT(1.0 + (X x X)) B ← 1.0 BOUCLE POUR N ← 1 JUSQU'A 11 A ← (A + B) / 2.0 B ← SQRT(A x B) FIN BOUCLE POUR RETOURNE X / (SQRT(1.0 + (X x X)) x A) * Entrée : Deux réels, y (ordonnée) et x (abscisse) * Sortie : L'angle θ en radians dans l'intervalle [-π, π] MODULE ATAN2(y, x) SI x > 0 ALORS θ ← ATAN(y / x) * Quadrant I ou IV SINON SI x < 0 ET y ≥ 0 ALORS θ ← ATAN(y / x) + π * Quadrant II SINON SI x < 0 ET y < 0 ALORS θ ← ATAN(y / x) - π * Quadrant III SINON SI x = 0 ET y > 0 ALORS θ ← π / 2 * Point sur l'axe des y positif (90°) SINON SI x = 0 ET y < 0 ALORS θ ← -π / 2 * Point sur l'axe des y négatif (-90 °) SINON θ ← non défini * Cas x = 0 et y = 0, l'angle est indéterminé FIN SI RETOURNE θ |
Remarques
- Si les 2 paramètres passés ont une valeur égale à 0, alors une erreur de domaine se produit.
- Attention aux unités : Un radian est équivalent à 180/π degrés. La fonction retourne l'angle en radians. Si des degrés sont nécessaires, il faut convertir le résultat via la formule (résultat x 180/π). Cette conversion est essentielle pour des applications où les degrés sont la norme, comme en navigation ou en animation.
- Définition de la fonction : La fonction atan2(y, x) calcule l'arc tangente d'un rapport en tenant compte des signes de ses deux paramètres pour déterminer correctement le quadrant de l'angle. Elle retourne une valeur en radians comprise entre ?π et π, ce qui la distingue de la fonction atan classique ne gérant qu'un quadrant.
- Usage pour les coordonnées polaires : atan2 est particulièrement utile pour convertir des coordonnées cartésiennes (x,y) en coordonnées polaires. L'angle Θ=atan2(y,x) correspond à l'orientation d'un point dans un plan 2D par rapport à l'axe x.
- Gestion des quadrants : Contrairement à atan, la fonction atan2 gère correctement tous les quadrants. Par exemple, si x est négatif et y est positif, atan2 retourne un angle dans le second quadrant, alors que atan(y/x) serait ambigu.
- Robustesse avec zéro et infini : atan2 gère correctement les cas où x ou y sont nuls, ainsi que les cas où x ou y sont infinis. Cela en fait une fonction fiable pour des calculs impliquant des limites ou des divisions par zéro.
- Différence avec les divisions classiques : Contrairement à une division simple y/x, atan2 ne nécessite pas de vérifier si x est nul, car la fonction intègre cette gestion. Par conséquent, elle est plus sûre et évite des erreurs comme des divisions par zéro.
- Utilisation en trigonométrie inversée : atan2 est indispensable pour résoudre des problèmes nécessitant des angles signés dans un plan 2D, comme en physique ou en robotique. Par exemple, elle est utilisée pour calculer la direction d'un vecteur ou orienter un objet dans un environnement.
Exemple
Voici un exemple permet d'afficher 5 coordonnées associés à l'ArcTangente :
Essayer maintenant !
on obtiendra le résultat suivant :
ArcTangente pour les coordonnées (X=-4.000000, Y=6.000000) = 123.690068 degréesArcTangente pour les coordonnées (X=-3.000000, Y=7.000000) = 113.198591 degrées
ArcTangente pour les coordonnées (X=-2.000000, Y=8.000000) = 104.036243 degrées
ArcTangente pour les coordonnées (X=-1.000000, Y=9.000000) = 96.340192 degrées
ArcTangente pour les coordonnées (X=0.000000, Y=10.000000) = 90.000000 degrées
Voir également
Langage de programmation - C - Référence de procédures et fonctions - cos
Langage de programmation - C - Référence de procédures et fonctions - sin
Langage de programmation - C - Référence de procédures et fonctions - tan
Langage de programmation - C++ - Référence de procédures et fonctions - atan2
Langage de programmation - AWK - Référence de procédures et fonctions - atan2
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 730.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 32.