Simple easing functions for Rust
[quad
, cubic
, quart
, quint
, sine
, circ
, expo
, elastic
, back
, bounce
] x [in
, out
, inout
]
All functions have the signature fn<F: Float>(F) -> F
(letting you use f32
, f64
, or any other type that implements num_traits
's Float
). Input should range from 0.0
to 1.0
, and output is generally in the 0.0
to 1.0
range (except for elastic
and back
, which return values slightly outside). 0.0
always maps to 0.0
, and 1.0
always maps to 1.0
.
Use 'em to lerp or something:
let current_pos = lerp(ezing::cubic_inout(t), start, end);