Calculate quaternion from rotation angles

Utilities/Axes Transformations

The Rotation Angles to Quaternions block converts the rotation
described by the three rotation angles (R1, R2, R3) into the four-element
quaternion vector (*q*_{0}, *q*_{1}, *q*_{2}, *q*_{3}).
A quaternion vector represents a rotation about a unit vector $$\left({\mu}_{x},{\mu}_{y},{\mu}_{z}\right)$$ through an angle θ. A
unit quaternion itself has unit magnitude, and can be written in the
following vector format.

$$q=\left[\begin{array}{l}{q}_{0}\\ {q}_{1}\\ {q}_{2}\\ {q}_{3}\end{array}\right]=\left[\begin{array}{c}\mathrm{cos}(\theta /2)\\ \mathrm{sin}(\theta /2){\mu}_{x}\\ \mathrm{sin}(\theta /2){\mu}_{y}\\ \mathrm{sin}(\theta /2){\mu}_{z}\end{array}\right]$$

An alternative representation of a quaternion is as a complex number,

$$q={q}_{0}+i{q}_{1}+j{q}_{2}+k{q}_{3}$$

where, for the purposes of multiplication,

$$\begin{array}{l}{i}^{2}={j}^{2}={k}^{2}=-1\\ ij=-ji=k\\ jk=-kj=i\\ ki=-ik=j\end{array}$$

The benefit of representing the quaternion in this way is the ease with which the quaternion product can represent the resulting transformation after two or more rotations.

**Rotation Order**Specifies the output rotation order for three wind rotation angles. From the list, select

`ZYX`

,`ZYZ`

,`ZXY`

,`ZXZ`

,`YXZ`

,`YXY`

,`YZX`

,`YZY`

,`XYZ`

,`XYX`

,`XZY`

, or`XZX`

. The default is`ZYX`

.

Input | Dimension Type | Description |
---|---|---|

First | 3-by-1 vector | Contains the rotation angles, in radians. |

Output | Dimension Type | Description |
---|---|---|

First | 4-by-1 quaternion vector | Contains the quaternion vector. |

The limitations for the `'ZYX'`

, `'ZXY'`

, `'YXZ'`

, `'YZX'`

, `'XYZ'`

,
and `'XZY'`

implementations generate an R2 angle
that is between ±90 degrees, and R1 and R3 angles that are between
±180 degrees.

The limitations for the `'ZYZ'`

, `'ZXZ'`

, `'YXY'`

, `'YZY'`

, `'XYX'`

,
and `'XZX'`

implementations generate an R2 angle
that is between 0 and 180 degrees, and R1 and R3 angles that are between
±180 degrees.

Was this topic helpful?