An implementation of the moving least squares point deformation algorithm (Schaefer 2006).
Heavily inspired by the existing moving-least-squares
crate. Here is how they compare:
| Feature | moving-least-squares
| mlsnd
|
|-------------------|---------------------------|---------------------------|
| Number types | f32 only | Generic over f32, f64 |
| Dimensionality | 2D only | Generic over N dimensions |
| Speed | ~20% faster | Slower |
| Algorithm support | Affine, rigid, similarity | Affine only |
| Dependencies | Fewer | More (mainly nalgebra
) |
| Results (2D f32) | Same (near enough) | Same (near enough) |
The motivating paper only suggests a dimensionality-agnostic implementation for the affine case, although the other cases may be tractable for someone who is better than me at linear algebra.