nalgebra/tests
Terence dfb7b6af22 Don't panic ScLERPing `UnitDualQuaternion` with equal rotation
Solves #1013.

Previously, when screw-linearly interpolating two unit dual quaternions
that had an identical orientation, `try_sclerp` would return `None`, as
the operation would introduce a division-by-zero.

This PR splits out the cases where two unit dual quaternions have an
identical orientation from the cases where they have opposite
orientations. In the case where they have identical orientations, the
operation is well-defined, but the exponential parameterization could
not handle it without introducing NaNs. Therefore, the function detects
this case and simply defaults to linearly interpolating the
translational components and using one of the two inputs' rotation
components.

The case where the inputs have opposite rotations is now detected
separately using the dot product of the real (rotation) parts, which was
already being computed anyway.

Also introduces proptests for these specific scenarios, to avoid any
regression.
2021-10-28 00:02:20 -04:00
..
core Concise Debug impls 2021-09-12 10:56:25 -07:00
geometry Don't panic ScLERPing `UnitDualQuaternion` with equal rotation 2021-10-28 00:02:20 -04:00
linalg Add test for Cholesky::new_with_substitute 2021-09-13 09:08:37 +09:00
proptest Fix botched Search + Replace 2021-07-17 13:58:34 -05:00
sparse Rename generic parameter N -> T 2021-04-11 13:57:54 +02:00
lib.rs Cargo fmt 2021-05-03 13:52:34 +02:00