Easing (stella v0.7.1)

Documentation for Easing.

annotations

Annotations

  • t - current time (seconds or miliseconds)
  • b - start value
  • c - change in value
  • d - duration (seconds or miliseconds)

Link to this section Summary

Functions

Cubic easing in - accelerating from zero velocity

Cubic easing in/out - acceleration until halfway, then deceleration

Quadratic easing in/out - acceleration until halfway, then deceleration

Quintic easing in/out - acceleration until halfway, then deceleration

Quadratic easing in - accelerating from zero velocity

Quartic easing in - accelerating from zero velocity

Cubic easing out - decelerating to zero velocity

Quadratic easing out - decelerating to zero velocity

Quartic easing out - decelerating to zero velocity

Simple linear tweening - no easing, no acceleration

Link to this section Functions

Link to this function

ease_in_cubic(t, b, c, d)

@spec ease_in_cubic(number(), number(), number(), number()) :: float()

Cubic easing in - accelerating from zero velocity

examples

Examples

iex> Easing.ease_in_cubic(1, 2, 3, 4)
2.046875
Link to this function

ease_in_out_cubic(t, b, c, d)

@spec ease_in_out_cubic(number(), number(), number(), number()) :: float()

Cubic easing in/out - acceleration until halfway, then deceleration

examples

Examples

iex> Easing.ease_in_out_cubic(1, 2, 3, 4)
2.1875
Link to this function

ease_in_out_quad(t, b, c, d)

@spec ease_in_out_quad(number(), number(), number(), number()) :: float()

Quadratic easing in/out - acceleration until halfway, then deceleration

examples

Examples

iex> Easing.ease_in_out_quad(1, 2, 3, 4)
1.625
Link to this function

ease_in_out_quart(t, b, c, d)

@spec ease_in_out_quart(number(), number(), number(), number()) :: float()

Quintic easing in/out - acceleration until halfway, then deceleration

examples

Examples

iex> Easing.ease_in_out_quart(1, 2, 3, 4)
2.046875
Link to this function

ease_in_quad(t, b, c, d)

@spec ease_in_quad(number(), number(), number(), number()) :: float()

Quadratic easing in - accelerating from zero velocity

examples

Examples

iex> Easing.ease_in_quad(1, 2, 3, 4)
2.1875
Link to this function

ease_in_quart(t, b, c, d)

@spec ease_in_quart(number(), number(), number(), number()) :: float()

Quartic easing in - accelerating from zero velocity

examples

Examples

iex> Easing.ease_in_quart(1, 2, 3, 4)
2.01171875
Link to this function

ease_out_cubic(t, b, c, d)

@spec ease_out_cubic(number(), number(), number(), number()) :: float()

Cubic easing out - decelerating to zero velocity

examples

Examples

iex> Easing.ease_out_cubic(1, 2, 3, 4)
3.734375
Link to this function

ease_out_quad(t, b, c, d)

@spec ease_out_quad(number(), number(), number(), number()) :: float()

Quadratic easing out - decelerating to zero velocity

examples

Examples

iex> Easing.ease_out_quad(1, 2, 3, 4)
3.3125
Link to this function

ease_out_quart(t, b, c, d)

@spec ease_out_quart(number(), number(), number(), number()) :: float()

Quartic easing out - decelerating to zero velocity

examples

Examples

iex> Easing.ease_out_quart(1, 2, 3, 4)
4.05078125
Link to this function

linear_tween(t, b, c, d)

@spec linear_tween(number(), number(), number(), number()) :: float()

Simple linear tweening - no easing, no acceleration

examples

Examples

iex> Easing.linear_tween(1, 2, 3, 4)
2.75