python计算方位角_实例讲解:用python 计算方位角(根据两点的坐标计算)记得收藏哦...
今天為大家分享一篇python 計(jì)算方位角實(shí)例(根據(jù)兩點(diǎn)的坐標(biāo)計(jì)算),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起來看看吧!
知道兩點(diǎn)坐標(biāo),怎么計(jì)算兩點(diǎn)方向的方位角?
答:首先計(jì)算坐標(biāo)增量dx,dy(兩個(gè)對(duì)應(yīng)坐標(biāo)分量相減,終點(diǎn)的減始點(diǎn)的)。
若dx,dy中有一個(gè)為零時(shí),根據(jù)另一個(gè)的正負(fù)決定方位角(0,90,180,270這四個(gè)中的一個(gè),可畫坐標(biāo)軸圖分析,但不要畫為數(shù)學(xué)坐標(biāo)哦)
基本思路:
若dx,dy都不為零;則
計(jì)算a=arcatn(|dy/dx|)(這好像叫象限角)
當(dāng)dx>0dy>0時(shí)方位角=a;
當(dāng)dx<0dy>0時(shí)方位角=180-a;
當(dāng)dx<0dy<0時(shí)方位角=180+a; 負(fù)范圍為a-pi
當(dāng)dx>0dy<0時(shí)方位角=360-a; 負(fù)范圍為-a
還有一種方法,使用 atan2來計(jì)算方位角,范圍為-pi,pi
atan2(y,x)所表達(dá)的意思是坐標(biāo)原點(diǎn)為起點(diǎn),指向(x,y)的射線在坐標(biāo)平面上與x軸正方向之間的角的角度。
結(jié)果為正表示從 X 軸逆時(shí)針旋轉(zhuǎn)的角度,結(jié)果為負(fù)表示從 X 軸順時(shí)針旋轉(zhuǎn)的角度。
atan 和 atan2 都是求反正切函數(shù),如:有兩個(gè)點(diǎn) point(x1,y1), 和 point(x2,y2);
那么這兩個(gè)點(diǎn)形成的斜率的角度計(jì)算方法分別是:
float angle = atan( (y2-y1)/(x2-x1) );
float angle = atan2( y2-y1, x2-x1 );
atan 和 atan2 區(qū)別:
1:參數(shù)的填寫方式不同;
2:atan2 的優(yōu)點(diǎn)在于 如果 x2-x1等于0 依然可以計(jì)算,但是atan函數(shù)就會(huì)導(dǎo)致程序出錯(cuò);
3:atan2(a,b)的取值范圍介于 -pi 到 pi 之間(不包括 -pi),而atan(a/b)的取值范圍介于-pi/2到pi/2之間(不包括±pi/2)。
另外要注意的是,函數(shù)atan2(y,x)中參數(shù)的順序是倒置的,atan2(y,x)計(jì)算的值相當(dāng)于點(diǎn)(x,y)的角度值。
如果要實(shí)現(xiàn)方位角的計(jì)算,代碼如下:
math中關(guān)于三角函數(shù)常用的操作:
以上這篇python 計(jì)算方位角實(shí)例(根據(jù)兩點(diǎn)的坐標(biāo)計(jì)算)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考。
結(jié)尾
總結(jié)
以上是生活随笔為你收集整理的python计算方位角_实例讲解:用python 计算方位角(根据两点的坐标计算)记得收藏哦...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python asyncio futur
- 下一篇: 数学建模python教材推荐_数模竞赛专