# eul2tform

Convert Euler angles to homogeneous transformation

## Syntax

``eul = eul2tform(eul)``
``tform = eul2tform(eul,sequence)``

## Description

example

````eul = eul2tform(eul)` converts a set of Euler angles, `eul`, into a homogeneous transformation matrix, `tform`. When using the transformation matrix, premultiply it with the coordinates to be transformed (as opposed to postmultiplying). The default order for Euler angle rotations is `"ZYX"`.```

example

````tform = eul2tform(eul,sequence)` converts Euler angles to a homogeneous transformation. The Euler angles are specified in the axis rotation sequence, `sequence`. The default order for Euler angle rotations is `"ZYX"`.```

## Examples

collapse all

```eul = [0 pi/2 0]; tformZYX = eul2tform(eul)```
```tformZYX = 4×4 0.0000 0 1.0000 0 0 1.0000 0 0 -1.0000 0 0.0000 0 0 0 0 1.0000 ```
```eul = [0 pi/2 pi/2]; tformZYZ = eul2tform(eul,'ZYZ')```
```tformZYZ = 4×4 0.0000 -0.0000 1.0000 0 1.0000 0.0000 0 0 -0.0000 1.0000 0.0000 0 0 0 0 1.0000 ```

## Input Arguments

collapse all

Euler rotation angles in radians, specified as an n-by-3 array of Euler rotation angles. Each row represents one Euler angle set.

Example: `[0 0 1.5708]`

Axis rotation sequence for the Euler angles, specified as one of these string scalars:

• `"ZYX"` (default) – The order of rotation angles is z-axis, y-axis, x-axis.

• `"ZYZ"` – The order of rotation angles is z-axis, y-axis, z-axis.

• `"XYZ"` – The order of rotation angles is x-axis, y-axis, z-axis.

Data Types: `string` | `char`

## Output Arguments

collapse all

Homogeneous transformation matrix, specified by a 4-by-4-by-n matrix of n homogeneous transformations. When using the rotation matrix, premultiply it with the coordinates to be rotated (as opposed to postmultiplying).

Example: `[0 0 1 0; 0 1 0 0; -1 0 0 0; 0 0 0 1]`