forked from marcelltoth/UltimateVision
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathanglehelper.h
39 lines (27 loc) · 806 Bytes
/
anglehelper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once
#define PI 3.14159265359
#define PIHALF 1.57079632679
#include <math.h>
inline double min(double a, double b)
{
return a < b ? a : b;
};
inline double max(double a, double b)
{
return a > b ? a : b;
};
inline double angleDistance(double firstAngle, double secondAngle)
{
double difference = secondAngle - firstAngle;
while (difference < -PI) difference += 2*PI;
while (difference > PI) difference -= 2*PI;
return difference;
};
inline double angleDistanceAbs(double firstAngle, double secondAngle)
{
return abs(angleDistance(firstAngle, secondAngle));
};
inline double rightAngleDistanceAbs(double firstAngle, double secondAngle)
{
return min(angleDistanceAbs(firstAngle, secondAngle), angleDistanceAbs(firstAngle, secondAngle + PIHALF));
};