Synchronize README.

This commit is contained in:
Dimitri Sabadie 2019-09-21 14:22:52 +02:00
parent c98b493993
commit 311efa5b26

View File

@ -40,17 +40,13 @@ key. We use the default one because we dont care.
# Interpolate values
The whole purpose of splines is to interpolate discrete values to yield continuous ones. This is
usually done with the `Spline::sample` method. This method expects the interpolation parameter
usually done with the [`Spline::sample`] method. This method expects the sampling parameter
(often, this will be the time of your simulation) as argument and will yield an interpolated
value.
If you try to sample in out-of-bounds interpolation parameter, youll get no value.
If you try to sample in out-of-bounds sampling parameter, youll get no value.
```
# use splines::{Interpolation, Key, Spline};
# let start = Key::new(0., 0., Interpolation::Linear);
# let end = Key::new(1., 10., Interpolation::Linear);
# let spline = Spline::from_vec(vec![start, end]);
assert_eq!(spline.sample(0.), Some(0.));
assert_eq!(spline.clamped_sample(1.), Some(10.));
assert_eq!(spline.sample(1.1), None);
@ -61,14 +57,17 @@ important for simulations / animations. Feel free to use the `Spline::clamped_in
that purpose.
```
# use splines::{Interpolation, Key, Spline};
# let start = Key::new(0., 0., Interpolation::Linear);
# let end = Key::new(1., 10., Interpolation::Linear);
# let spline = Spline::from_vec(vec![start, end]);
assert_eq!(spline.clamped_sample(-0.9), Some(0.)); // clamped to the first key
assert_eq!(spline.clamped_sample(1.1), Some(10.)); // clamped to the last key
```
# Polymorphic sampling types
[`Spline`] curves are parametered both by the carried value (being interpolated) but also the
sampling type. Its very typical to use `f32` or `f64` but really, you can in theory use any
kind of type; that type must, however, implement a contract defined by a set of traits to
implement. See [the documentation of this module](crate::interpolate) for further details.
# Features and customization
This crate was written with features baked in and hidden behind feature-gates. The idea is that