Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Returns the (signed) difference between angle a and b.
- //i.e., how far in degrees angle a must move to align with angle b.
- float AngularDistance(float a, float b)
- {
- int s; int ret;
- int d = (Abs(b-a)%360);
- if ( d >= 0 )
- {
- if ( d <= 180 ) { s = -1; }
- }
- else if ( d <= -180 )
- {
- if ( d >= -360 ) { s = -1; }
- }
- else s = 1;
- if ( d > 180 )
- {
- return ((360 - d)*s);
- }
- else { return (d*s); }
- }
- float AngleDifference(float angle1, float angle2)
- {
- int diff = Abs(angle1-angle2);
- if ( angle1 < angle2 ) { return WrapDegrees(diff)*-1; }
- else return WrapDegrees(diff);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement