计算两点方向角
方向角以Y轴正方向为起始轴,角度范围-180到180度,返回值为角度值,Y轴顺时针方向为正,逆时针方向为负.
#include <math.h>
#define M_PI 3.14159265358979323846
// 点的结构体
struct point
{
double x;
double y;
};
double azimuth( point from , point to )
{
double theta = atan2(to.x - from.x, to.y - from.y);
theta = theta * 180.0 / M_PI;
// 将角度范围限制在 -180 到 180 度之间
if (theta < -180.0)
{
theta += 360.0;
}
else if (theta > 180.0)
{
theta -= 360.0;
}
return theta;
}