std::atan2

来自cppreference.com

 
 
Numerics的图书馆
常见的数学函数
浮点环境
复数
数字阵列
伪随机数生成
编译时合理的算法 (C++11)
通用的数值运算
Original:
Generic numeric operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
iota(C++11)
accumulate
inner_product
adjacent_difference
partial_sum
 
常见的数学函数
功能
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
基本操作
Original:
Basic operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
remainder(C++11)
remquo(C++11)
fma(C++11)
fmax(C++11)
fmin(C++11)
fdim(C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
指数函数
Original:
Exponential functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
exp
exp2(C++11)
expm1(C++11)
log
log10
log1p(C++11)
log2(C++11)
电源的功能
Original:
Power functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sqrt
cbrt(C++11)
hypot(C++11)
pow
三角函数和双曲功能
Original:
Trigonometric and hyperbolic functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sinh
cosh
tanh
asinh(C++11)
acosh(C++11)
atanh(C++11)
错误和伽玛功能
Original:
Error and gamma functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
erf(C++11)
erfc(C++11)
lgamma(C++11)
tgamma(C++11)
最接近的整数,浮点运算
Original:
Nearest integer floating point operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc(C++11)
nearbyint(C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
浮点操作功能
Original:
Floating point manipulation functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb(C++11)
logb(C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign(C++11)
分类/比较
Original:
Classification/Comparison
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
fpclassify(C++11)
isfinite(C++11)
isinf(C++11)
isnan(C++11)
isnormal(C++11)
signbit(C++11)
isgreater(C++11)
isgreaterequal(C++11)
isless(C++11)
islessequal(C++11)
islessgreater(C++11)
isunordered(C++11)
宏常量
Original:
Macro constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
HUGE_VALF
HUGE_VAL
HUGE_VALL
(C++11)

(C++11)
INFINITY(C++11)
NAN(C++11)
math_errhandling
MATH_ERRNO
MATH_ERREXCEPT
(C++11)
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
 
Defined in header <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 起)
计算使用的参数的迹象,以正确确定象限的反正切值y/x.
Original:
Computes the inverse tangent of y/x using the signs of arguments to correctly determine quadrant.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
4)
如果任何参数是整数类型,它被转换为double。如果有另一种说法是long double,则返回类型是long double,否则它是double.
Original:
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.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目录

[编辑] 参数

x, y -
浮点值
Original:
floating point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 返回值

圆弧相切的弧度的范围内y/x弧度[-π; π].
Original:
Arc tangent of y/x in radians in the range of [-π; π] radians.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Return value
math-atan2.png
X argument

[编辑] 为例

#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";
}

Output:

(1,1) cartesian is (1.41421,0.785398) polar


[编辑] 另请参阅

计算反正切值(arctan(x)
Original:
computes arc tangent (arctan(x))
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(函数) [edit]
计算弧的正弦(arcsin(x)
Original:
computes arc sine (arcsin(x))
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(函数) [edit]
计算反余弦(arccos(x)
Original:
computes arc cosine (arccos(x))
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(函数) [edit]
计算角正切(tan(x)
Original:
computes tangent (tan(x))
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(函数) [edit]