[−][src]Module splines::interpolate
The Interpolate
trait and associated symbols.
The Interpolate
trait is the central concept of the crate. It enables a spline to be
sampled at by interpolating in between control points.
In order for a type to be used in Spline<K, V>
, some properties must be met about the K
type must implementing several traits:
One
, giving a neutral element for the multiplication monoid.Additive
, making the type additive (i.e. one can add or subtract with it).Linear
, unlocking linear combinations, required for interpolating.Trigo
, a trait giving π and cosine, required for e.g. cosine interpolation.
Feel free to have a look at current implementors for further help.
Why doesn’t this crate use num-traits instead of defining its own traits?
The reason for this is quite simple: this crate provides a no_std
support, which is not
currently available easily with num-traits. Also, if something changes in num-traits with
those traits, it would make this whole crate unstable.
Traits
Additive | Set of types that support additions and subtraction. |
Interpolate | Keys that can be interpolated in between. Implementing this trait is required to perform sampling on splines. |
Linear | Set of additive types that support outer multiplication and division, making them linear. |
One | Types with a neutral element for multiplication. |
Trigo | Types with a sane definition of π and cosine. |
Functions
cubic_bezier_def | Default implementation of |
cubic_hermite_def | Default implementation of |
quadratic_bezier_def | Default implementation of |