Main Content


Convert quaternion to Euler-Rodrigues vector



rod=quat2rod(quat) function calculates the Euler-Rodrigues vector, rod, for a given quaternion quat. The quaternion input and resulting Euler-Rodrigues vector represent a right-hand passive transformation from frame A to frame B.

Aerospace Toolbox uses quaternions that are defined using the scalar-first convention. This function normalizes all quaternion inputs.


collapse all

Determine the Euler-Rodrigues vector from the quaternion.

q = [-0.7071 0 0.7071 0]
r = quat2rod( q )
q =

   -0.7071         0    0.7071         0
r =

         0   -1.0000         0

Input Arguments

collapse all

M-by-4 array of quaternions. quat has its scalar number as the first column.

Data Types: double

Output Arguments

collapse all

M-by-3 matrix containing M Euler-Rodrigues vectors.


An Euler-Rodrigues vector b represents a rotation by integrating a direction cosine of a rotation axis with the tangent of half the rotation angle as follows:




are the Rodrigues parameters. Vector s represents a unit vector around which the rotation is performed. Due to the tangent, the rotation vector is indeterminate when the rotation angle equals ±pi radians or ±180 deg. Values can be negative or positive.


[1] Dai, J.S. "Euler-Rodrigues formula variations, quaternion conjugation and intrinsic connections." Mechanism and Machine Theory, 92, 144-152. Elsevier, 2015.

Version History

Introduced in R2017a