pub trait Curve {
type Value;
type Velocity;
// Required methods
fn approximate(
&self,
time: f32,
) -> Approximation<Self::Value, Self::Velocity>;
fn target(&self) -> Self::Value;
}Expand description
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 Associated Types§
Required Methods§
Sourcefn approximate(&self, time: f32) -> Approximation<Self::Value, Self::Velocity>
fn approximate(&self, time: f32) -> Approximation<Self::Value, Self::Velocity>
This should return a single approximation for the given time.