1.atan2(y,x): 表示返回其參數的商的反正切。函數
atan2是一個函數,在C語言裏返回的是指方位角,也能夠理解爲計算複數 x+yi 的輻角,計算時atan2 比 atan 穩定。spa
與 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時,其值爲正.3d
atan2(y, x)是4象限反正切,它的取值不只取決於正切值y/x,還取決於點 (x, y) 落入哪一個象限:blog
- 當點(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) get