std::atan2
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <cmath> 中定义
|
||
float atan2( float y, float x ); |
(1) | |
double atan2( double y, double x ); |
(2) | |
long double atan2( long double y, long double x ); |
(3) | |
Promoted atan2( Arithmetic y, Arithmetic x ); |
(4) | (C++11 起) |
计算使用的参数的迹象,以正确确定象限的反正切值
4) y/x
. 原文:
Computes the inverse tangent of
y/x
using the signs of arguments to correctly determine quadrant. 如果任何参数是整数类型,它被转换为double。如果有另一种说法是long double,则返回类型是long double,否则它是double.
原文:
If any argument has integral type, it is cast to double. If any other argument is long double, then the return type is long double, otherwise it is double.
目录 |
[编辑] 参数
x, y | - | 浮点值
|
[编辑] 返回值
圆弧相切的弧度的范围内
y/x
弧度[-π; π]
.原文:
Arc tangent of
y/x
in radians in the range of [-π; π]
radians.[编辑] 示例
#include <cmath> #include <utility> #include <iostream> std::pair<double, double> cartesian_to_polar(double x, double y) { return {std::hypot(x, y), std::atan2(y,x)}; } int main() { std::pair<double, double> polar = cartesian_to_polar(1, 1); std::cout << "(1,1) cartesian is (" << polar.first << "," << polar.second<< ") polar\n"; }
输出:
(1,1) cartesian is (1.41421,0.785398) polar
[编辑] 另请参阅
计算反正切值(arctan(x)) (函数) | |
计算弧的正弦(arcsin(x)) (函数) | |
计算反余弦(arccos(x)) (函数) | |
计算角正切(tan(x)) (函数) |