Synchronize README.
This commit is contained in:
		
							
								
								
									
										19
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								README.md
									
									
									
									
									
								
							@@ -40,17 +40,13 @@ key. We use the default one because we don’t 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, 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.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. 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
 | 
			
		||||
 | 
			
		||||
This crate was written with features baked in and hidden behind feature-gates. The idea is that
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user