atan2(doubley,doublex)返回的是原点至点(x,y)与x轴的夹角。返回值的单位为弧度,取值范围为(-π,π]。

问题:C语言原来的atan2 只能求解-PI-PI;

// 求解矢量的夹角;

// 平面坐标系原点O到该点P(x, y)矢量OP, 所求即是+X(1, 0) 轴与OP(x, y) 矢量的夹角;

float Actan_0_2PI(float y, float x)
{
   
	float fRad = atan2( y, x);
	if (y < 0.0)
	{
   
		fRad = (float)2*PI + fRad;
	}
	return fRad;
}