知道兩點坐标,怎麼計算兩點方向的方位角?
答:首先計算坐标增量dx,dy(兩個對應坐标分量相減,終點的減始點的)。
若dx,dy中有一個為零時,根據另一個的正負決定方位角(0,90,180,270這四個中的一個,可畫坐标軸圖分析,但不要畫為數學坐标哦)
基本思路:
若dx,dy都不為零;則
計算a=arcatn(|dy/dx|)(這好像叫象限角)
當dx>0dy>0時方位角=a;
當dx<0dy>0時方位角=180-a;
當dx<0dy<0時方位角=180 a; 負範圍為a-pi
當dx>0dy<0時方位角=360-a; 負範圍為-a
還有一種方法,使用 atan2來計算方位角,範圍為-pi,pi
atan2(y,x)所表達的意思是坐标原點為起點,指向(x,y)的射線在坐标平面上與x軸正方向之間的角的角度。
結果為正表示從 X 軸逆時針旋轉的角度,結果為負表示從 X 軸順時針旋轉的角度。
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函數就會導緻程序出錯;
3:atan2(a,b)的取值範圍介于 -pi 到 pi 之間(不包括 -pi),而atan(a/b)的取值範圍介于-pi/2到pi/2之間(不包括±pi/2)。
另外要注意的是,函數atan2(y,x)中參數的順序是倒置的,atan2(y,x)計算的值相當于點(x,y)的角度值。
如果要實現方位角的計算,代碼如下:
math中關于三角函數常用的操作:
以上這篇python 計算方位角實例(根據兩點的坐标計算)就是小編分享給大家的全部内容了,希望能給大家一個參考。
結尾最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,并在後台私信小編:“07”即可領取。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!