一 返回極座標 : public static double Atan2(double y,double x) 參數 y 類型 System.Double點的 y 座標。 x
類型:System.Double
點的 x 座標。
角度 θ,以弧度爲單位,滿足 -π≤θ≤π,且 tan(θ) = y / x,其中 (x, y) 是笛卡爾平面中的點。 請看下面:
-
如果 (x, y) 在第 1 象限,則 0 < θ < π/2。 x y全爲正
-
如果 (x, y) 在第 2 象限,則 π/2 < θ≤π。 x爲負 y爲正
-
如果 (x, y) 在第 3 象限,則 -π < θ < -π/2。 xy 全爲負
-
如果 (x, y) 在第 4 象限,則 -π/2 < θ < 0。 x爲正 y爲負
如果點在象限的邊界上,則返回值如下:
-
如果 y 爲 0 並且 x 不爲負值,則 θ = 0。
-
如果 y 爲 0 並且 x 爲負值,則 θ = π。
-
如果 y 爲正值並且 x 爲 0,則 θ = π/2。
-
如果 y 爲負值並且 x 爲 0,則 θ = -π/2。
-
如果 y 爲 0 並且 x 爲 0,則 θ = 0。
二 取值範圍
atan:-90度~90度 -π/2~π/2
atan2:-180~180度 -π~π
三 atan2() 方法可返回從 x 軸到點 (x,y) 之間的角度。
-PI 到 PI 之間的值,是從 X 軸正向逆時針旋轉到點 (x,y) 時經過的角度。
Atan2(double y,double x)
計算直角三角形中 除了直角以外的兩個角度時算法:
計算角度1 : y爲角1對面的直角邊長度 x爲鄰直角邊的長度
(float) Math.toDegrees(Math.atan2(100, 50)) = 63.434948 度
計算角度2 y爲 角度2 對面直角邊長度 x爲鄰直角邊長度
(float) Math.toDegrees(Math.atan2(50, 100)) = 26.565052 度