知道两点坐标,怎么计算两点方向的方位角?
答:首先计算坐标增量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:参数的填写方式不同