C++ STL 中的 atan2() 函数
c++programmingserver side programming
atan2() 函数返回 y 和 x 坐标的正切倒数。此处 y 和 x 分别是 y 和 x 坐标的值。它是 C++ STL 中的一个内置函数。
atan2() 函数的语法如下。
atan2(dataType var1, dataType var2)
从语法可以看出,atan2() 函数接受两个数据类型为 float、double 或 long double 的参数 var1 和 var2,分别为 y 和 x 点。
atan2() 返回的值在 -pi 到 pi 范围内,是 (x,y) 与正 x 轴之间的角度。
下面给出了一个在 C++ 中演示 atan2() 的程序。
示例
#include <iostream> #include <cmath> using namespace std; int main() { double y = 10, x = 5, ans; ans = atan2(y,x); cout << "atan2("<< y <<"/"<< x <<") = " << ans << endl; return 0; }
输出
atan2(10/5) = 1.10715
在上面的程序中,首先初始化变量 y 和 x。然后使用 atan2() 找到 y 和 x 的反正切值并将其存储在 ans 中。最后显示 ans 的值。以下代码片段演示了这一点。
double y = 10, x = 5, ans; ans = atan2(y,x); cout << "atan2("<< y <<"/"<< x <<") = " << ans << endl;
使用 atan2() 函数获得的结果可以转换为度数并显示出来。演示此操作的程序如下。
示例
#include <iostream> #include <cmath> using namespace std; int main() { double y = 10, x = 5, ans; ans = atan2(y,x); ans = ans*180/3.14159; cout << "atan2("<< y <<"/"<< x <<") = " << ans << endl; return 0; }
输出
atan2(10/5) = 63.435
在上面的程序中,使用 atan2() 获得 y 和 x 的反正切。然后将该值转换为度数。最后显示输出。以下代码片段演示了这一点。
double y = 10, x = 5, ans; ans = atan2(y,x); ans = ans*180/3.14159; cout << "atan2("<< y <<"/"<< x <<") = " << ans << endl;