![]() |
Murl Engine Lua Addon API
Version 1.0 beta
|
The easing class implements the functions of the predefined IEnums::Interpolation curves.
Smoothstep functions description can be found at http://wikipedia.org/wiki/Smoothstep
Easing functions description can be found at http://easings.net
Constant interpolation. Function: f(x)=0
x | The value to interpolate in range [0 .. 1]. |
Linear interpolation. Function: f(x)=x
x | The value to interpolate in range [0 .. 1]. |
Smoothstep "in-out" interpolation. Function: f(x)=(x^2)*(3-2*x)
Number SmoothstepInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Smoothstep "in" interpolation. Function: f(x)=SmoothstepInOut(x/2)*2
x | The value to interpolate in range [0 .. 1]. |
Smoothstep "out" interpolation. Function: f(x)=SmoothstepInOut((x+1)/2)*2-1
Number SmoothstepOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Smoothstep "out-in" interpolation. Function: f(x)=(x < 0.5) ? SmoothstepInOut(x+0.5)-0.5 : SmoothstepInOut(x-0.5)+0.5
Number SmoothstepOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Smootherstep "in-out" interpolation. Function: f(x)=(x^3)*(x*(6*x-15)+10)
Number SmootherstepInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Smootherstep "in" interpolation. Function: f(x)=SmootherstepInOut(x/2)*2
Number SmootherstepIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Smootherstep "out" interpolation. Function: f(x)=SmootherstepInOut((x+1)/2)*2-1
Number SmootherstepOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Smootherstep "out-in" interpolation. Function: f(x)=(x < 0.5) ? SmootherstepInOut(x+0.5)-0.5 : SmootherstepInOut(x-0.5)+0.5
Number SmootherstepOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease (cubic) "in" interpolation. Function: f(x)=x^3
x | The value to interpolate in range [0 .. 1]. |
Ease (cubic) "out" interpolation. Function: f(x)=1-EaseIn(1-x)
x | The value to interpolate in range [0 .. 1]. |
Ease (cubic) "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseIn(2*x)/2 : 1-EaseIn(2-2*x)/2
x | The value to interpolate in range [0 .. 1]. |
Ease (cubic) "out-in" interpolation. Function: f(x)=4*EaseIn(x-0.5)+0.5
x | The value to interpolate in range [0 .. 1]. |
Ease Quart "in" interpolation. Function: f(x)=x^4
x | The value to interpolate in range [0 .. 1]. |
Ease Quart "out" interpolation. Function: f(x)=1-EaseQuartIn(1-x)
x | The value to interpolate in range [0 .. 1]. |
Ease Quart "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseQuartIn(2*x)/2 : 1-EaseQuartIn(2-2*x)/2
Number EaseQuartInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Quart "out-in" interpolation. Function: f(x)=(x < 0.5) ? 0.5-EaseQuartIn(1-2*x)/2 : 0.5+EaseQuartIn(2*x-1)/2
Number EaseQuartOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Exponential "in" interpolation. Function: f(x)=(2^8x)*x/256
Number EaseExponentialIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Exponential "out" interpolation. Function: f(x)=1-EaseExponentialIn(1-x)
Number EaseExponentialOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Exponential "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseExponentialIn(2*x)/2 : 1-EaseExponentialIn(2-2*x)/2
Number EaseExponentialInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Exponential "out-in" interpolation. Function: f(x)=(x < 0.5) ? 0.5-EaseExponentialIn(1-2*x)/2 : 0.5+EaseExponentialIn(2*x-1)/2
Number EaseExponentialOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Circular "in" interpolation. Function: f(x)=1-sqrt(1-x^2)
Number EaseCircularIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Circular "out" interpolation. Function: f(x)=sqrt((2-x)*x)
Number EaseCircularOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Circular helper interpolation. Function: f(x)=sqrt(x-x^2)
Number EaseCircularHelper(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Circular "in-out" interpolation. Function: f(x)=(x < 0.5) ? 0.5-EaseCircularHelper(x+0.5) : 0.5+EaseCircularHelper(x-0.5)
Number EaseCircularInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Circular "out-in" interpolation. Function: f(x)=(x < 0.5) ? EaseCircularHelper(x) : 1-EaseCircularHelper(x)
Number EaseCircularOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Back "in" interpolation. Function: f(x)=(x^3)-x*sin(x*PI)
x | The value to interpolate in range [0 .. 1]. |
Ease Back "out" interpolation. Function: f(x)=1-EaseBackIn(1-x)
x | The value to interpolate in range [0 .. 1]. |
Ease Back "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseBackIn(2*x)/2 : 1-EaseBackIn(2-2*x)/2
Number EaseBackInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Back "out-in" interpolation. Function: f(x)=(x < 0.5) ? 0.5-EaseBackIn(1-2*x)/2 : 0.5+EaseBackIn(2*x-1)/2
Number EaseBackOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Elastic "in" interpolation. Function: f(x)=sin(13*PI/2*x)*2^(10*(x-1))
Number EaseElasticIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Elastic "out" interpolation. Function: f(x)=1-EaseElasticIn(1-x)
Number EaseElasticOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Elastic "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseElasticIn(2*x)/2 : 1-EaseElasticIn(2-2*x)/2
Number EaseElasticInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Elastic "out-in" interpolation. Function: f(x)=(x < 0.5) ? 0.5-EaseElasticIn(1-2*x)/2 : 0.5+EaseElasticIn(2*x-1)/2
Number EaseElasticOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Bounce "out" interpolation. Function: f(x)= ... = a halve and three shrinking bounces
Number EaseBounceOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Bounce "in" interpolation. Function: f(x)=1-EaseBounceOut(1-x) = three and a halve growing bounces
x | The value to interpolate in range [0 .. 1]. |
Ease Bounce "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseBounceIn(2*x)/2 : 0.5+EaseBounceOut(2*x-1)/2
Number EaseBounceInOut(Number x)
x | The value to interpolate in range [0 .. 1]. |
Ease Bounce "in-out" interpolation. Function: f(x)=(x < 0.5) ? EaseBounceOut(2*x)/2 : 0.5+EaseBounceIn(2*x-1)/2
Number EaseBounceOutIn(Number x)
x | The value to interpolate in range [0 .. 1]. |