atan和atan2反正切計算

2022-09-06 11:06:15 字數 1197 閱讀 8130

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 arg );

double atan( integral arg );

double angle=atan((y2-y1)/(x2-x1));
返回值

若不出現錯誤,則返回 arg 在$ [- π/2 ; +π/2]$ 弧度範圍中的弧(反)正切( $arctan(arg) $)。值域有限,一四象限,斜率不存在不能求

使用反三角函式atan2求斜率,原型如下

float       atan2( float y, float x );

double atan2( double y, double x );

long double atan2( long double y, long double x );

promoted atan2( arithmetic1 y, arithmetic2 x );

返回值

若不出現錯誤,則返回 y/x 在 $(-π ; +π] $弧度範圍中的弧(反)正切( arctan(y/x) )。值域擴充套件到四個象限。

atan2(y,x)所表達的意思是座標原點為起點,指向(y,x)的射線x軸正方向形成角的角度。在x=0的時候:

1.當y>0時,指的是繞逆時針到達射線所旋轉的角的角度;

2.而當y<0時,指的是繞順時針達到射線所旋轉的角的角度。

這樣就可以求兩個點表示的線段(向量)和x軸正向的角度,如下

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

反正切函式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 ...

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...