C 库 - atan2() 函数



C 的数学atan2() 函数用于根据两个值的符号确定正确的象限,返回y/x 的反正切值(以弧度为单位)。

反正切,也称为反正切函数。它是正切函数的反函数,它反转正切函数的效果。

此方法返回的角度是从正 x 轴到该点逆时针测量。

语法

以下是 C atan2() 函数的语法 -

double atan2( double y, double x );

参数

此函数接受以下参数 -

  • x - 它表示浮点类型的 x 坐标。

  • y - 它表示浮点类型的 y 坐标。

返回值

此函数返回将直角坐标 (𝑥, 𝑦) 转换为极坐标 (𝑟, Θ) 后得到的角度 Θ(以弧度为单位)。

示例 1

以下是一个基本的 C 程序,用于演示使用 atan2() 获取以弧度表示的角度。

#include <stdio.h>
#include <math.h>

int main() {
   double x = 1.0;
   double y = 1.0;
   double theta = atan2(y, x);
   printf("The angle is %f radians.\n", theta);
   return 0;
}

输出

以下是输出 -

The angle is 0.785398 radians.

示例 2

让我们再举一个例子,点 (x,y) = (−1,1) 在第二象限。 atan2() 函数计算与正 x 轴形成的角度。

#include <stdio.h>
#include <math.h>

int main() {
   double x = -1.0;
   double y = 1.0;
   double theta = atan2(y, x);
   printf("The angle is %f radians.\n", theta);
   return 0;
}

输出

以下是输出 -

The angle is 2.356194 radians.

示例 3

现在,创建另一个 C 程序以显示反正切值(以度为单位)。

#include <stdio.h>
#include <math.h>
#define PI 3.14159265

int main () {
   double x, y, ang_res, val;

   x = 10.0;
   y = 10.0;
   val = 180.0 / PI;

   ang_res = atan2 (y,x) * val;
   printf("The arc tangent of x = %lf, y = %lf ", x, y);
   printf("is %lf degrees\n", ang_res);
  
   return(0);
}

输出

以下是输出 -

The arc tangent of x = 10.000000, y = 10.000000 is 45.000000 degrees
广告