easing is a library that add flavor to motion in D programming language.
import easing;
auto output = input.linear;
// |
// easing function -+
If you would like to call with custom range,
import easing;
auto output = input.map!linear(0.0, 10.0, 0.0, 1.0);
// | | | | |
// easing function -----+ | | | |
// min of input ---------------+ | | |
// max of input --------------------+ | |
// min of output -------------------------+ |
// max of output ------------------------------+
Some functions have option.
auto output = input.easeQuadBezier(0.6, 0.7);
auto output = input.easeCubicBezier(0.0, 1.0, 1.0, 0.0);
auto output = input.easeInBack(1.5);
auto output = input.map!easeInBack(0.0, 10.0, 0.0, 1.0, 1.5);
- linear
- easeInSine
- easeOutSine
- easeInOutSine
- easeInCubic
- easeOutCubic
- easeInOutCubic
- easeInQuint
- easeOutQuint
- easeInOutQuint
- easeInCirc
- easeOutCirc
- easeInOutCirc
- easeInElastic
- easeOutElastic
- easeInOutElastic
- easeInQuad
- easeOutQuad
- easeInOutQuad
- easeInQuart
- easeOutQuart
- easeInOutQuart
- easeInExpo
- easeOutExpo
- easeInOutExpo
- easeInBack
- easeOutBack
- easeInOutBack
- easeInBounce
- easeOutBounce
- easeInOutBounce
- easeCubicBezier
- easeQuadBezier
Please look at http://easings.net/ regarding details of implemented functions.