Skip to content

clemense/quaternion-conventions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Quaternion Order Conventions

Quaternions are expressions of the form w + x i + y j + z k, with x i + y j + z k being the vector/imaginary part and w the scalar/real part. Math libraries differ in the way they order the vector and real part of a quaternion. This can lead to bothersome debugging sessions.

The following table shows quaternion implementations and their chosen order:
X-Y-Z-W πŸŸ₯ (scalar-last format) Β  vs. Β  W-X-Y-Z 🟦

Library / Framework Quaternion Format
autolab_core W-X-Y-Z 🟦
Blender.mathutils W-X-Y-Z 🟦
Boost W-X-Y-Z 🟦
Bullet / PyBullet X-Y-Z-W πŸŸ₯
DART (uses Eigen::Quaternion) W-X-Y-Z 🟦
Drake (uses Eigen::Quaternion) W-X-Y-Z 🟦
differentiable-robot-model X-Y-Z-W πŸŸ₯
dm_robotics.transformations W-X-Y-Z 🟦
Eigen - API W-X-Y-Z 🟦
Eigen - Internal memory ordering X-Y-Z-W πŸŸ₯
FleX X-Y-Z-W πŸŸ₯
iDynTree W-X-Y-Z 🟦
Isaac Gym X-Y-Z-W πŸŸ₯
Isaac Lab W-X-Y-Z 🟦
Isaac Sim W-X-Y-Z 🟦
lietorch X-Y-Z-W πŸŸ₯
jaxlie W-X-Y-Z 🟦
Klampt W-X-Y-Z 🟦
MATLAB W-X-Y-Z 🟦
MuJoCo W-X-Y-Z 🟦
Nuklei W-X-Y-Z 🟦
numpy-quaternions W-X-Y-Z 🟦
OpenRAVE 0.9.0 X-Y-Z-W πŸŸ₯
Orocos KDL X-Y-Z-W πŸŸ₯
PhysX X-Y-Z-W πŸŸ₯
PyMesh W-X-Y-Z 🟦
pyquaternion W-X-Y-Z 🟦
pyrr X-Y-Z-W πŸŸ₯
pytorch3d W-X-Y-Z 🟦
pytransform3d W-X-Y-Z 🟦
quaternions W-X-Y-Z 🟦
RoMa X-Y-Z-W πŸŸ₯
ROS X-Y-Z-W πŸŸ₯
ROS2 (tf2) X-Y-Z-W πŸŸ₯
scipy.spatial.transforms X-Y-Z-W πŸŸ₯
spatialmath-python W-X-Y-Z 🟦
squaternion W-X-Y-Z 🟦
The Library for Uniform Deterministic Sequences and Sets of Samples over 2-sphere and SO(3) X-Y-Z-W πŸŸ₯
Theseus W-X-Y-Z 🟦
transformations.py (<=2009.04.18) X-Y-Z-W πŸŸ₯
transformations.py (>=2010.05.10, includes trimesh.transformations) W-X-Y-Z 🟦
Transforms3d W-X-Y-Z 🟦
tinyquaternion W-X-Y-Z 🟦
USD (Pixar) - API W-X-Y-Z 🟦
USD (Pixar) - Internal memory ordering X-Y-Z-W πŸŸ₯
ViSII - A VIrtual Scene Imaging Interface W-X-Y-Z 🟦
NVIDIA Warp X-Y-Z-W πŸŸ₯
YARP - API X-Y-Z-W πŸŸ₯
YARP - Internal memory ordering W-X-Y-Z 🟦

About

An overview of different quaternion implementations and their chosen order: x-y-z-w or w-x-y-z?

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6