KrisLibrary  1.0.0
Classes | Namespaces | Functions
angle.h File Reference

Planar (R2) rotation utilities. More...

#include "math.h"

Go to the source code of this file.

Classes

struct  Math::AngleInterval
 A contiguous range of angles. More...
 

Namespaces

 Math
 Contains all definitions in the Math package.
 

Functions

Real Math::AngleNormalize (Real a)
 Normalizes an angle to [0,2pi)
 
Real Math::AngleDiff (Real a, Real b)
 Returns the closest distance to get to a from b (range [-pi,pi])
 
Real Math::AngleCCWDiff (Real a, Real b)
 Returns the CCW distance needed to get to a from b.
 
Real Math::AngleInterp (Real a, Real b, Real u)
 Interpolates between rotations a and b (u from 0 to 1)
 
bool Math::IsValidAngle (Real a)
 
void Math::Acos_All (Real x, Real &a, Real &b)
 returns all solutions y to cos(y)=x in a,b
 
void Math::Asin_All (Real x, Real &a, Real &b)
 returns all solutions y to sin(y)=x in a,b
 
void Math::Atan_All (Real x, Real &a, Real &b)
 returns all solutions y to tan(y)=x in a,b
 
void Math::TransformCosSin_Cos (Real a, Real b, Real &c, Real &d)
 
void Math::TransformCosSin_Sin (Real a, Real b, Real &c, Real &d)
 Same as above, but returns c*sin(x+d)
 
bool Math::SolveCosSinEquation (Real a, Real b, Real c, Real &t1, Real &t2)
 
void Math::SolveCosSinGreater (Real a, Real b, Real c, AngleInterval &i)
 Same as above, but a cos(x) + b sin(x) >= c.
 

Detailed Description

Planar (R2) rotation utilities.