Easing equation function for a circular (sqrt(1-t^2)) easing inout: acceleration until halfway, then deceleration. - CSharp System

CSharp examples for System:Math Easing Function

Description

Easing equation function for a circular (sqrt(1-t^2)) easing inout: acceleration until halfway, then deceleration.

Demo Code


using System;/*from w w  w.  ja  v a 2  s  . co  m*/

public class Main{
        /// <summary>
   /// Easing equation function for a circular (sqrt(1-t^2)) easing in/out: 
   /// acceleration until halfway, then deceleration.
   /// </summary>
   /// <param name="t">Current time in seconds.</param>
   /// <param name="b">Starting value.</param>
   /// <param name="c">Change in value.</param>
   /// <param name="d">Duration of animation.</param>
   /// <returns>The correct value.</returns>
   public static double CircEaseInOut( double t, double b, double c, double d )
   {
      if ( ( t /= d / 2 ) < 1 )
         return -c / 2 * ( Math.Sqrt( 1 - t * t ) - 1 ) + b;
      
      return c / 2 * ( Math.Sqrt( 1 - ( t -= 2 ) * t ) + 1 ) + b;
   }
}

Related Tutorials