反正切函式atan與atan2的區別

2022-06-11 14:36:11 字數 338 閱讀 4580

atan 和 atan2 都是求反正切函式,如:有兩個點 point(x1,y1), 和 point(x2,y2);

那麼這兩個點形成的斜率的角度計算方法分別是:

float angle = atan( (y2-y1)/(x2-x1) );

或float angle = atan2( y2-y1, x2-x1 );

atan 和 atan2 區別:

1:引數的填寫方式不同;

2:atan2 的優點在於 如果 x2-x1等於0 依然可以計算,但是atan函式就會導致程式出錯;

結論: atan 和 atan2函式,建議用 atan2函式;

參考:

atan和atan2反正切計算

typedef struct point point 給定兩個點 point a x1,y1 b x2,y2 使用反三角函式atan求斜率,原型如下 float atan float arg double atan double arg long double atan long double ar...

atan2 四象限的反正切函式

功能簡介 求四象限的反正切。語法格式 p atan2 y,x 返回與x y同型的四象限反正切陣列p。x和y只取實部,虛部將被忽略。p中的元素分布在 pi,pi 之間,其象限由sign x 和sign y 決定。例項5.13 將直角座標 4,3 轉化為極座標,再將該極座標轉化為直角座標。x 4 3i ...

atan2與atan的區別

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