Fonctions de la bibliothèque C -atan2()
Bibliothèque standard C - <math.h>
Description
atan2()est la bibliothèque standard C<math.h>Une fonction pour calculer l'arctangente de deux paramètres. Ces deux paramètres représentent la coordonnée y et la coordonnée x d'un point,atan2()La fonction renvoie l'angle entre l'axe des x et le point (x, y), en radians. Cette fonction est plus puissante que d'utiliseratan()la fonction est plus puissante car elle prend en compte les signes de x et y, déterminant ainsi le quadrant correct.
Déclaration
Voici la déclaration de la fonction atan2().
#include <math.h> double atan2(double y, double x); float atan2f(float y, float x); long double atan2l(long double y, long double x);
Paramètre
- x-- Une valeur à virgule flottante représentant la coordonnée de l'axe des x.
- y-- Une valeur à virgule flottante représentant la coordonnée de l'axe des y.
Valeur de retour
- Renvoie l'arctangente du point (x, y), en radians. La plage de valeurs de retour est [-π, π].
Exemple
L'exemple suivant illustre l'utilisation de la fonction atan2().
Exemple
#include <math.h>
#define PI 3.14159265
int main ()
{
double x, y, ret, val;
x = -7.0;
y = 7.0;
val = 180.0 / PI;
ret = atan2 (y,x) * val;
printf("L'arctangente de x = %lf, y = %lf", x, y);
printf("C'est %lf degrés\n", ret);
return(0);
}
atan2(y, x)Calcule l'arctangente de y / x et tient compte des signes de y et de x pour déterminer le quadrant correct de l'angle.- Le résultat est exprimé en radians, avec un intervalle de [-π, π].
- en multipliant le résultat en radians par
180 / π, vous pouvez le convertir en degrés.
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
x = -7.000000, y = 7.000000 的反正切是 135.000000 度
Déterminer le quadrant
L'exemple suivant montre comment utiliser atan2() pour déterminer le quadrant dans lequel se trouve un point :
Exemple
#include <math.h>
void print_quadrant(double y, double x) {
double angle = atan2(y, x);
printf("Le point (%f, %f) est dans le quadrant : ", x, y);
if (angle > 0 && angle < M_PI / 2) {
printf("I\n");
} else if (angle > M_PI / 2 && angle < M_PI) {
printf("II\n");
} else if (angle < 0 && angle > -M_PI / 2) {
printf("IV\n");
} else {
printf("III\n");
}
}
int main() {
print_quadrant(1.0, 1.0); // I
print_quadrant(1.0, -1.0); // II
print_quadrant(-1.0, -1.0); // III
print_quadrant(-1.0, 1.0); // IV
return 0;
}
Analyse du code :
- Fonction
print_quadrant()Accepte les paramètres y et x, calcule leur valeur d'arctangente et détermine le quadrant du point en fonction du résultat. - Utilisation dans le code
atan2(y, x)Calcule la valeur d'arctangente et détermine le quadrant en fonction de l'intervalle de l'angle.
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
Point (1.000000, 1.000000) is in quadrant: I Point (-1.000000, 1.000000) is in quadrant: II Point (-1.000000, -1.000000) is in quadrant: III Point (1.000000, -1.000000) is in quadrant: IV
Gestion des erreurs
atan2()Elle est valide pour toutes les entrées de nombres réels, donc aucune gestion d'erreur supplémentaire n'est requise.- la fonction ne définit pas
errno, et elle ne renverra pas NaN.
Résumé
atan2()La fonction est utilisée pour calculer l'arctangente du point (x, y), ce qui en fait un outil puissant pour les calculs d'angle dans un plan bidimensionnel. Comparée àatan(), elle peut gérer correctement les angles dans tous les quadrants et renvoyer des résultats précis. Dans les calculs mathématiques et le traitement graphique, l'utilisation rationnelle deatan2()peut simplifier le code et améliorer la précision.