Litcius/Paper detail

Quaternion to Euler angles conversion: A direct, general and computationally efficient method

Evandro Bernardes, Stéphane Viollet

2022PLoS ONE40 citationsDOIOpen Access PDF

Abstract

Current methods of the conversion between a rotation quaternion and Euler angles are either a complicated set of multiple sequence-specific implementations, or a complicated method relying on multiple matrix multiplications. In this paper a general formula is presented for extracting the Euler angles in any desired sequence from a unit quaternion. This is a direct method, in that no intermediate conversion step is required (no quaternion-to-rotation matrix conversion, for example) and it is general because it works with all 12 possible sequences of rotations. A closed formula was first developed for extracting angles in any of the 12 possible sequences, both "Proper Euler angles" and "Tait-Bryan angles". The resulting algorithm was compared with a popular implementation of the matrix-to-Euler angle algorithm, which involves a quaternion-to-matrix conversion in the first computational step. Lastly, a single-page pseudo-code implementation of this algorithm is presented, illustrating its conciseness and straightforward implementation. With an execution speed 30 times faster than the classical method, our algorithm can be of great interest in every aspect.

Topics & Concepts

QuaternionEuler anglesRotation (mathematics)Euler's formulaAlgorithmMatrix (chemical analysis)Computer scienceSequence (biology)Rotation matrixMathematicsMathematical analysisGeometryBiologyMaterials scienceComposite materialGeneticsInertial Sensor and NavigationRobotic Mechanisms and DynamicsAdaptive optics and wavefront sensing