Version:

Last Modified: March 15, 2017

Converts Euler angles into a 3-by-3 matrix of direction cosines.

Euler angles in radians.

This input accepts both proper and Tait-Bryan angle types.

Rotation angle about the first axis in radians.

**Default: **0

Rotation angle about the second axis in radians.

**Default: **0

Rotation angle about the third axis in radians.

**Default: **0

Order of the axes to rotate the coordinates around.

Name | Value | Description |
---|---|---|

X-Y-Z | 0 | The first, second, and third rotations are about the x-, y-, and z-axes, respectively. |

X-Z-Y | 1 | The first, second, and third rotations are about the x-, z-, and y-axes, respectively. |

Y-X-Z | 2 | The first, second, and third rotations are about the y-, x-, and z-axes, respectively. |

Y-Z-X | 3 | The first, second, and third rotations are about the y-, z-, and x-axes, respectively. |

Z-X-Y | 4 | The first, second, and third rotations are about the z-, x-, and y-axes, respectively. |

Z-Y-X | 5 | The first, second, and third rotations are about the z-, y-, and x-axes, respectively. |

X-Y-X | 6 | The first, second, and third rotations are about the x-, y-, and x-axes, respectively. |

X-Z-X | 7 | The first, second, and third rotations are about the x-, z-, and x-axes, respectively. |

Y-X-Y | 8 | The first, second, and third rotations are about the y-, x-, and y-axes, respectively. |

Y-Z-Y | 9 | The first, second, and third rotations are about the y-, z-, and y-axes, respectively. |

Z-X-Z | 10 | The first, second, and third rotations are about the z-, x-, and z-axes, respectively. |

Z-Y-Z | 11 | The first, second, and third rotations are about the z-, y-, and z-axes, respectively. |

**Default: **Z-X-Z

Type of rotation to perform.

Name | Value | Description |
---|---|---|

Passive and Intrinsic | 0 | The rotation occurs about the axes of a rotating coordinate system, which is initially aligned with the fixed one, and modifies its orientation after each elemental rotation. The coordinate system rotates, while the coordinate is fixed. |

Passive and Extrinsic | 1 | The rotation occurs about the axes of a fixed coordinate system. The coordinate system rotates, while the coordinate is fixed. |

Active | 2 | The rotation occurs about the axes of the same coordinate system. The coordinate system is fixed, while the coordinate rotates. |

**Default: **Passive and Intrinsic

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

A 3-by-3 direction cosine matrix.

If **rotation type** is Passive and Intrinsic or Passive and Extrinsic, the matrix maps points in the old coordinate frame to points in the new coordinate frame. If **rotation type** is Active, the matrix maps the coordinates of the original points to the coordinates of the rotated points. Each element must be in the range of [-1, 1].

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

Direction cosines and Euler angles are two different ways of expressing a rotation. The following equations describe how this node converts Euler angles into direction cosines:

Let *R*_{x}(α), *R*_{y}(α), and *R*_{z}(α) be the rotation matrices of rotating the coordinate system by *α* angles about the x-, y-, and z-axes, respectively. *R*_{x}(α), *R*_{y}(α), and *R*_{z}(α) are defined as follows:

${R}_{x}\left(\alpha \right)=\left[\begin{array}{ccc}1& 0& 0\\ 0& \mathrm{cos}\alpha & \mathrm{sin}\alpha \\ 0& -\mathrm{sin}\alpha & \mathrm{cos}\alpha \end{array}\right]$

${R}_{y}\left(\alpha \right)=\left[\begin{array}{ccc}\mathrm{cos}\alpha & 0& -\mathrm{sin}\alpha \\ 0& 1& 0\\ \mathrm{sin}\alpha & 0& \mathrm{cos}\alpha \end{array}\right]$

${R}_{z}\left(\alpha \right)=\left[\begin{array}{ccc}\mathrm{cos}\alpha & \mathrm{sin}\alpha & 0\\ -\mathrm{sin}\alpha & \mathrm{cos}\alpha & 0\\ 0& 0& 1\end{array}\right]$

This node calculates **direction cosines** using the following equations:

$R=\{\begin{array}{cc}{R}_{C}\left(\psi \right){R}_{B}\left(\theta \right){R}_{A}\left(\varphi \right)& \mathrm{if}\text{\hspace{0.17em}}\mathrm{rotation\; type}\text{\hspace{0.17em}}\mathrm{is}\text{\hspace{0.17em}}\mathrm{Passive\; and\; Intrinsic}\\ {R}_{A}\left(\varphi \right){R}_{B}\left(\theta \right){R}_{C}\left(\psi \right)& \mathrm{if}\text{\hspace{0.17em}}\mathrm{rotation\; type}\text{\hspace{0.17em}}\mathrm{is}\text{\hspace{0.17em}}\mathrm{Passive\; and\; Extrinsic}\\ {R}_{C}(-\psi ){R}_{B}(-\theta ){R}_{A}(-\varphi )& \mathrm{if}\text{\hspace{0.17em}}\mathrm{rotation\; type}\text{\hspace{0.17em}}\mathrm{is}\text{\hspace{0.17em}}\mathrm{Active}\end{array}$

where

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: This product does not support FPGA devices