ATAN |
ArcTangente |
---|---|
Langage C | math.h |
Syntaxe
double atan(double n); |
Paramètres
Nom | Description |
---|---|
n | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Retour
Valeur | Description |
---|---|
-π/2 à π/2 | Ces valeurs permettent d'indiquer les radians de l'arc tangente. |
Description
Cette fonction trigonométrique retourne l'«ArcTangente».
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) |
On peut consulter le code source C de cet algorithme à la page suivante.
Remarques
- La fonction ne peut pas toujours déterminer avec certitude dans quel quadrant l'angle se retrouvera par sa valeur tangente à cause de l'ambiguïté du signe, dans cette situation, il est préférable d'utiliser la fonction «atan2».
- Performance : De nombreux compilateurs C ont la réputation d'avoir des performances hors du commun avec la fonction atan contrairement à l'algorithme original fournissant la réponse. La raison derrière tiens du fait que certains compilateurs utiliseront des tables de constantes pour réduire le fardeau de calcul à effectuer lors de chaque appel de la fonction, d'autres compilateurs écrivent carrément la fonction en assembleur, ou d'autres compilateur encore utilise un algorithme d'intelligence artificiel (IA) lequel évite de refaire systématiquement les mêmes calcules, dans le style d'une puce électronique TPU par exemple.
- Calcul de l'arc tangente : La fonction atan calcule l'arc tangente d'un nombre donné. Elle prend en paramètre un seul argument, correspondant au rapport y/x?, et retourne l'angle en radians compris entre -π/2 et π/2. Elle est utile pour déterminer l'orientation dans un plan, mais ne distingue pas les quadrants.
- Usage limité aux rapports simples : atan est adaptée pour des cas où seul le rapport y/x est nécessaire, mais elle ne tient pas compte des signes de x et y séparément. Ainsi, elle peut être insuffisante pour déterminer l'angle complet d'un vecteur dans le plan cartésien.
- Contrainte sur les quadrants : La fonction ne retourne des angles que dans les premier et quatrième quadrants (-π/2≤angle≤π/2). Par conséquent, si x est négatif, le résultat est ambigu, ce qui peut entraîner des erreurs dans les calculs nécessitant une distinction précise des quadrants.
- Résolution des problèmes de division par zéro : Le paramètre de atan est simplement un rapport, ce qui signifie que l'utilisateur doit gérer lui-même les cas où x=0. Si cette gestion est ignorée, des erreurs ou des résultats indéfinis peuvent survenir.
- Applications dans la trigonométrie : atan est utilisée pour résoudre des problèmes où l'angle d'une pente ou d'un rapport est nécessaire. Par exemple, dans les calculs d'inclinaison, de trajectoire ou d'analyse de données géométriques simples.
- Résultat en radians : Un radian est équivalent à 180/π degrés. Comme pour la majorité des fonctions trigonométriques en C, le résultat de atan est exprimé en radians. Pour des cas où des degrés sont requis, il est nécessaire de convertir les radians en degrés à l'aide de la formule (résultat x 180/π).
- Précision et stabilité : La fonction atan est généralement précise pour des paramètres dans un intervalle raisonnable. Cependant, lorsque le rapport y/x? est très grand ou très petit, des erreurs d'arrondi peuvent survenir, bien que celles-ci soient rares en pratique.
- Alternative avec atan2 : Bien que atan soit simple à utiliser, elle est souvent remplacée par atan2 dans des applications nécessitant une distinction des quadrants ou une gestion robuste des cas où x est nul. atan reste néanmoins une solution rapide et efficace pour des calculs simples.
Exemple
Voici un exemple permet d'afficher les ArcTangente inférieurs à 1 :
Essayer maintenant !
on obtiendra le résultat suivant :
ArcTan(0.00000)= 0.000000ArcTan(0.10000)= 0.099668
ArcTan(0.20000)= 0.197396
ArcTan(0.30000)= 0.291457
ArcTan(0.40000)= 0.380506
ArcTan(0.50000)= 0.463648
ArcTan(0.60000)= 0.540420
ArcTan(0.70000)= 0.610726
ArcTan(0.80000)= 0.674741
ArcTan(0.90000)= 0.732815
ArcTan(1.00000)= 0.785398
Voir également
Langage de programmation - C - Référence procédures et fonctions - cos
Langage de programmation - C - Référence procédures et fonctions - sin
Langage de programmation - C - Référence procédures et fonctions - tan
Langage de programmation - C++ - Référence procédures et fonctions - atan
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 31.
Dernière mise à jour : Mardi, le 28 juillet 2015