ATan2與ATan的區別

2021-10-09 23:43:07 字數 527 閱讀 8632

相比較atan,atan2究竟有什麼不同?本篇介紹一下atan2的用法及使用條件。

對於tan(θ) = y / x:

θ = atan(y / x)求出的θ取值範圍是[-pi/2, pi/2]。

θ = atan2(y, x)求出的θ取值範圍是[-pi, pi]。

當 (x, y) 在第一象限, 0 < θ < pi/2.

當 (x, y) 在第二象限 pi/2 < θ≤pi.

當 (x, y) 在第三象限, -pi < θ < -pi/2.

當 (x, y) 在第四象限, -pi/2 < θ < 0.

當點(x, y)在象限的邊界也就是座標軸上時:

當 y 是 0,x 為非負值, θ = 0.

當 y 是 0, x 是 負值, θ = pi.

當 y 是 正值, x 是 0, θ = pi/2.

當 y 是 負值, x 是 0, θ = -pi/2.

由此可知,一般情況下用atan即可,當對所求出角度的取值範圍有特殊要求時,應使用atan2。

atan2與atan的區別

對於tan y x 當點 x,y 在象限的邊界也就是座標軸上時 atan接受的是乙個正切值 直線的斜率 得到夾角,但是由於正切的規律性本可以有兩個角度的但它卻只返回乙個,因為atan的值域是從 90 90 也就是它只處理一四象限,所以一般不用它。atan2 double y,double x 其中y...

反正切函式atan與atan2的區別

atan 和 atan2 都是求反正切函式,如 有兩個點 point x1,y1 和 point x2,y2 那麼這兩個點形成的斜率的角度計算方法分別是 float angle atan y2 y1 x2 x1 或float angle atan2 y2 y1,x2 x1 atan 和 atan2 ...

C語言中的atan 與atan2

在c語言的math.h或c 中的cmath中有兩個求反正切的函式atan double x 與atan2 double y,double x 他們返回的值是弧度 要轉化為角度再自己處理下。前者接受的是乙個正切值 直線的斜率 得到夾角,但是由於正切的規律性本可以有兩個角度的但它卻只返回乙個,因為ata...