Maison >développement back-end >C++ >Quand utiliser `atan` vs `atan2` en C : quelle fonction donne le bon angle ?
Distinction entre atan et atan2 en C
C propose des fonctions mathématiques pour les calculs trigonométriques, notamment atan et atan2. Pour comprendre leur différence, examinons la fonction tangente.
Fonction tangente et quadrants
La tangente d'un angle α est définie comme tan(α) = sin(α ) / cos(α). Cependant, des ambiguïtés surviennent en raison des quadrants.
Quadrant | Angle Range | sin Sign | cos Sign | tan Sign |
---|---|---|---|---|
I | 0 < α < π/2 | |||
II | π/2 < α < π | - | - | |
III | π < α < 3π/2 | - | - | |
IV | 3π/2 < α < 2π | - | - |
Fonction atan
La fonction atan renvoie l'arctangente de y/x, en supposant que x > 0. Cela restreint la sortie aux quadrants I et IV (c'est-à-dire -π/2 ≤ atan() ≤ π/2).
Fonction atan2
Contrairement à atan , la fonction atan2 prend deux arguments, y et x, qui représentent les projections d'un vecteur sur les axes y et x, respectivement.
atan2(y, x) calcule l'arctangente de y/x, en considérant les coordonnées y et x séparément. Cela résout les quatre quadrants en ajoutant π au résultat atan() lorsque le cosinus est négatif.
Implications pratiques
atan(y/x) ne peut déterminer que des angles des quadrants I ou IV, tandis que atan2(y, x) capture toutes les informations et résout l'angle correct dans tous les cas. quadrants.
Conclusion
En résumé, atan fournit des informations limitées et suppose un angle dans les quadrants I ou IV, tandis qu'atan2 récupère des données complètes et détermine l'angle dans tous les quadrants. . Si un calcul précis de l'angle sur tous les quadrants est requis, atan2 est le choix préféré.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!