1.atan2(y,x): 表示返回其参数的商的反正切。
atan2是一个函数,在C语言里返回的是指方位角,也可以理解为计算复数 x+yi 的辐角,计算时atan2 比 atan 稳定。
与 atan 的不同
atan2 比 atan 稳定。
如:atan(y/x),当 y 远远大于 x 时,计算结果是不稳定的。
atan2(y,x)的做法:当 x 的绝对值比 y 的绝对值大时使用 atan(y/x);反之使用 atan(x/y)。这样就保证了数值稳定性。
要注意的是,函数atan2(y,x)中参数的顺序是倒置的,atan2(y,x)计算的值相当于点(x,y)的角度值。
atan2(y,x)是表示X-Y平面上所对应的(x,y)坐标的角度,它的值域范围是(-Pi,Pi)
用数学表示就是:atan2(y,x)=arg(y/x)-Pi
当y<0时,其值为负;当y>0时,其值为正.
atan2(y, x)是4象限反正切,它的取值不仅取决于正切值y/x,还取决于点 (x, y) 落入哪个象限:
- 当点(x, y) 落入第一象限时,atan2(y, x)的范围是 0 ~ pi/2;
- 当点(x, y) 落入第二象限时,atan2(y, x)的范围是 pi/2 ~ pi;
- 当点(x, y) 落入第三象限时,atan2(y, x)的范围是 -pi~-pi/2;
- 当点(x, y) 落入第四象限时,atan2(y, x)的范围是 -pi/2~0.
2.pow(x,y)