dimforge / dimforge/nalgebra

Dual Quaternions for Rigid Body Transforms

Open
#487 12 comments 3 reactions 0 assignees View on GitHub
enhancement good first issue P-low
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.