Dual Quaternions for Rigid Body Transforms
- Dominant language
- Rust
- Stars
- 4.8k
- Forks
- 565
- PR merge metrics
- No merged PRs in 30d
Description
[Dual quaternions](https://en.wikipedia.org/wiki/Dual_quaternion) can represent all of rigid body transformations (translation + rotation), with some advantages over matrixes:
- Better numerical stability
- Smaller memory footprint (8 values, two algebraic constraints)
- Small processing speed improvement (one paper I found said ~10% over matrices)
They also keep the simplicity of combining transformations is just multiplication.
A downside is that they only work for 3 dimensions (if I understand correctly), but given a large portion of users likely will be using only 3D geometry (for graphics, etc), it might be worth it. Also, there is already support for non-dual quaternions, so there is some interest.
Many of you probably already know this, just thought I'd document the case for them as I understand it.
If people are interested in this, I'll create a fork and add the feature? This is my first time contributing to an open-source project on github, so I may need a little guidance... Or, if someone else is interested in writing it that would work as well.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.