[][src]Trait yoyo_physics::Curve

pub trait Curve<T> {
    fn approximate(&self, time: T) -> Approximation<T>;
fn target(&self) -> T; }

Curves provide the mathematical foundation for animation.

Within Yoyo, we restrict curves to those with a closed-form approximation / analytical solution and similarly, a closed-form derivative that we can use to compute velocity. Typically, especially for springs, animation frameworks use numerical integrations, like RK4. We want closed-form solutions because they let us pause and resume animations at arbitrary time steps.

Required methods

fn approximate(&self, time: T) -> Approximation<T>

This should return a single approximation for the given time.

fn target(&self) -> T

This should return the target value of this curve.

Loading content...

Implementors

impl<T> Curve<T> for Bezier<T> where
    T: Float
[src]

impl<T> Curve<T> for Decay<T> where
    T: Float
[src]

impl<T> Curve<T> for Delay<T> where
    T: Float
[src]

impl<T> Curve<T> for Spring<T> where
    T: Float
[src]

fn approximate(&self, time: T) -> Approximation<T>[src]

This function approximates a spring's oscillation and velocity at the given timestamp.

Loading content...