Synchronize README.
This commit is contained in:
parent
c98b493993
commit
311efa5b26
19
README.md
19
README.md
@ -40,17 +40,13 @@ key. We use the default one because we don’t care.
|
|||||||
# Interpolate values
|
# Interpolate values
|
||||||
|
|
||||||
The whole purpose of splines is to interpolate discrete values to yield continuous ones. This is
|
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
|
(often, this will be the time of your simulation) as argument and will yield an interpolated
|
||||||
value.
|
value.
|
||||||
|
|
||||||
If you try to sample in out-of-bounds interpolation parameter, you’ll get no value.
|
If you try to sample in out-of-bounds sampling parameter, you’ll 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.sample(0.), Some(0.));
|
||||||
assert_eq!(spline.clamped_sample(1.), Some(10.));
|
assert_eq!(spline.clamped_sample(1.), Some(10.));
|
||||||
assert_eq!(spline.sample(1.1), None);
|
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.
|
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(-0.9), Some(0.)); // clamped to the first key
|
||||||
assert_eq!(spline.clamped_sample(1.1), Some(10.)); // clamped to the last 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. It’s 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
|
# Features and customization
|
||||||
|
|
||||||
This crate was written with features baked in and hidden behind feature-gates. The idea is that
|
This crate was written with features baked in and hidden behind feature-gates. The idea is that
|
||||||
|
Loading…
Reference in New Issue
Block a user