The

`Easing`

module implements common easing functions. This module is used by Animated.timing() to convey physically believable motion in animations.You can find a visualization of some common easing functions at http://easings.net/

The

`Easing`

module provides several predefined animations through the following methods:`back`

provides a basic animation where the object goes slightly back before moving forward`bounce`

provides a bouncing animation`ease`

provides a basic inertial animation`elastic`

provides a basic spring interaction

Three standard easing functions are provided:

The

`poly`

function can be used to implement quartic, quintic, and other higher power functions.Additional mathematical functions are provided by the following methods:

`bezier`

provides a cubic bezier curve`circle`

provides a circular function`sin`

provides a sinusoidal function`exp`

provides an exponential function

The following helpers are used to modify other easing functions.

`in`

runs an easing function forwards`inOut`

makes any easing function symmetrical`out`

runs an easing function backwards

`static step0(n)`

A stepping function, returns 1 for any positive value of

`n`

.`static step1(n)`

A stepping function, returns 1 if

`n`

is greater than or equal to 1.`static linear(t)`

A linear function,

`f(t) = t`

. Position correlates to elapsed time one to one.`static ease(t)`

A basic inertial interaction, similar to an object slowly accelerating to speed.

`static quad(t)`

A quadratic function,

`f(t) = t * t`

. Position equals the square of elapsed time.`static cubic(t)`

A cubic function,

`f(t) = t * t * t`

. Position equals the cube of elapsed time.`static poly(n)`

A power function. Position is equal to the Nth power of elapsed time.

`static sin(t)`

A sinusoidal function.

`static circle(t)`

A circular function.

`static exp(t)`

An exponential function.

`static elastic(bounciness)`

A basic elastic interaction, similar to a spring oscillating back and forth.

Default bounciness is 1, which overshoots a little bit once. 0 bounciness doesn't overshoot at all, and bounciness of N > 1 will overshoot about N times.

`static back(s)`

Use with

`Animated.parallel()`

to create a basic effect where the object animates back slightly as the animation starts.`static bounce(t)`

Provides a basic bouncing effect.

`static bezier(x1, y1, x2, y2)`

Provides a cubic bezier curve, equivalent to CSS Transitions'

`transition-timing-function`

.A useful tool to visualize cubic bezier curves can be found at http://cubic-bezier.com/

`static in easing;`

Runs an easing function forwards.

`static out(easing)`

Runs an easing function backwards.

`static inOut(easing)`

Makes any easing function symmetrical. The easing function will run forwards for half of the duration, then backwards for the rest of the duration.