math.atan2()函式返回點(x,y)和原點(0,0)之間直線的傾斜角.那麼如何計算任意兩點間直線的傾斜角呢?只需要將兩點x,y座標分別相減得到乙個新的點(x2-x1,y2-y1).然後利用他求出角度就可以了.使用下面的乙個轉換可以實現計算出兩點間連線的夾角.math.atan2(y2-y1,x2-x1)
不過這樣我們得到的是乙個弧度值,在一般情況下我們需要把它轉換為乙個角度.
下面我們用一段**來測試一下這樣的轉換.
//測試,計算點(3,3)和(5,5)構成的連線的夾角
x=math.atan2(5-3,5-3)
trace(x)//輸出0.785398163397448
x=x*180/math.pi//轉換為角度
trace(x)//輸出45
核心**:
float x = atan2(3, 3);
cout << "x=" << x << endl;
x = x * 180 / 3.14;
cout << "x = " << x;
atan與atan2在求角度時的差別
atan2 a,b 是4象限反正切,它的取值不僅取決於正切值a b,還取決於點 b,a 落入哪個象限 當點 b,a 落入第一象限時,atan2 a,b 的範圍是 0 pi 2 當點 b,a 落入第二象限時,atan2 a,b 的範圍是 pi 2 pi 當點 b,a 落入第三象限時,atan2 a,b...
atan2與atan的區別
對於tan y x 當點 x,y 在象限的邊界也就是座標軸上時 atan接受的是乙個正切值 直線的斜率 得到夾角,但是由於正切的規律性本可以有兩個角度的但它卻只返回乙個,因為atan的值域是從 90 90 也就是它只處理一四象限,所以一般不用它。atan2 double y,double x 其中y...
ATan2與ATan的區別
相比較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...