Math.atan與Math.atan2

一 返回極座標 : 
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   度

 

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章