Example #1
0
        // Rotates degree to targetDegree (between 0 and 360), taking the shortest distance. Lerp argument is amount to rotate by.
        // Note: Lerp of 0.5 may be good place to start.
        public static float RotateTo(float degree, float targetDegree, float lerp)
        {
            float diff = targetDegree - degree + 360f;

            // Return Target Degree if it's been matched.
            if (Math.Abs(diff) <= lerp)
            {
                return(targetDegree);
            }

            // Otherwise, return next step:
            if (diff > 0f)
            {
                degree += lerp;
            }
            else
            {
                degree -= lerp;
            }

            return(Degrees.Normalize(degree));
        }
Example #2
0
 // Reverse the angle
 public static float Reverse(float degrees)
 {
     return(Degrees.Normalize(degrees + 180f));
 }