24 #ifndef __UTILS_MATH_ANGLE_H_
25 #define __UTILS_MATH_ANGLE_H_
39 return (deg * M_PI / 180.f);
50 return (rad * 180.f / M_PI);
62 distance(
float x1,
float y1,
float x2,
float y2)
64 return sqrt( (x2-x1) * (x2-x1) + (y2-y1) * (y2-y1) );
77 const float pi =
static_cast<float>(M_PI);
78 if ( (angle_rad < -1.0f * pi) || (angle_rad >= pi) ) {
79 return ( angle_rad - 2.0f * pi * round(angle_rad / (2.0f * pi)) );
95 const float twopi =
static_cast<float>(2 * M_PI);
96 if ( (angle_rad < 0) || (angle_rad >= twopi) ) {
97 return angle_rad - twopi * floor(angle_rad / twopi);
114 if ( (angle_rad < -2*M_PI) || (angle_rad > 2*M_PI) ) {
133 if(angle_rad2 > angle_rad1)
135 return angle_rad2 - angle_rad1 < M_PI ? angle_rad2 - angle_rad1 : - 2.0 * M_PI + angle_rad2 - angle_rad1;
139 return angle_rad1 - angle_rad2 < M_PI ? angle_rad2 - angle_rad1 : 2.0 * M_PI - angle_rad1 + angle_rad2;