Section courante

A propos

Section administrative du site

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
      XNX
      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
      AXN
      B ← 1.0 - XN
      BOUCLE REPETER
         AA 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

Exemple

Voici un exemple permet d'afficher 5 coordonnées associés à l'ArcTangente :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. int main ()
  6. {
  7.   int I;
  8.   for(I = 1; I <= 5; I++) {
  9.       float X = -5.0, Y = 5.0;
  10.       printf("ArcTangente pour les coordonnées (X=%f, Y=%f) = %f degrées\n", X+I, Y+I, atan2(Y+I,X+I) * 180 / M_PI);
  11.   }
  12.   return 0;
  13. }

on obtiendra le résultat suivant :

ArcTangente pour les coordonnées (X=-4.000000, Y=6.000000) = 123.690068 degrées
ArcTangente 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.

Dernière mise à jour : Mardi, le 28 juillet 2015