atan2

atan2

atan2是一個函式,在C語言裡返回的是指方位角,也可以理解為計算複數 x+yi 的輻角,計算時atan2 比 atan 穩定。

語法

atan2 atan2

C 語言裡 double atan2(double y,double x) 返回的是原點至點(x,y)的方位角,即與 x 軸的夾角。也可以理解為複數 x+yi 的輻角。返回值的單位為弧度,取值範圍為;

atan2 atan2

Excel 里 ATAN2(x,y)返回的是原點至點(x,y)的方位角。返回值的單位為弧度,取值範圍為。

注意:

1、C 函式與 Excel 函式的參數順序正好相反;

2、C 函式允許 x、y 同時為零,Excel 不允許 x、y 同時為零。

與 atan 的不同

atan2 比 atan 穩定。

如:atan(y/x),當 y 遠遠大於 x 時,計算結果是不穩定的。

atan2(y,x)的做法:當 x 的絕對值比 y 的絕對值大時使用 atan(y/x);反之使用 atan(x/y)。這樣就保證了數值穩定性。

說明

在數學坐標系中,結果為正表示從 X 軸逆時針旋轉的角度,結果為負表示從 X 軸順時針旋轉的角度。

ATAN2(a, b) 與 ATAN(a/b)稍有不同,ATAN2(a,b)的取值範圍介於 -pi 到 pi 之間(不包括 -pi),

而ATAN(a/b)的取值範圍介於-pi/2到pi/2之間(不包括±pi/2)。

若要用度表示反正切值,請將結果再乘以 180/3.14159。

另外要注意的是,函式atan2(y,x)中參數的順序是倒置的,atan2(y,x)計算的值相當於點(x,y)的角度值。

示例

如果將示例複製到空白工作表中,可能會更易於理解該示例。

A B
1 公式 說明(結果)
2 =ATAN2(1,1) 以弧度表示點(1,1)的反正切值,即pi/4(0.785398)
3 =ATAN2(-1,-1) 以弧度表示點(-1,-1)的反正切值,即-3*pi/4(-2.35619)
4 =ATAN2(-1,-1)*180/3.14159 以度表示點(-1,-1)的反正切值(-135)
5 =ATAN2(2,1)* 180/3.14159 以度表示點(1,2)的反正切值(約為63)

javascript實例

下面這個例子可通過 atan2() 方法返回不同 (x,y) 點的角度:

相關詞條

相關搜尋

熱門詞條

聯絡我們