# tform2eul

Extract Euler angles from homogeneous transformation

## Syntax

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

## Description

example

````eul = tform2eul(tform)` extracts the rotational component from a homogeneous transformation, `tform`, and returns it as Euler angles, `eul`. The translational components of `tform` are ignored. The input homogeneous transformation must be in the premultiply form for transformations. The default order for Euler angle rotations is `"ZYX"`.```

example

````eul = tform2eul(tform, sequence)` extracts the Euler angles, `eul`, from a homogeneous transformation, `tform`, using the specified rotation sequence, `sequence`. The default order for Euler angle rotations is `"ZYX"`.```

## Examples

collapse all

```tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1]; eulZYX = tform2eul(tform)```
```eulZYX = 1×3 0 0 3.1416 ```
```tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1]; eulZYZ = tform2eul(tform,'ZYZ')```
```eulZYZ = 1×3 0 -3.1416 3.1416 ```

## Input Arguments

collapse all

Homogeneous transformation, specified by a 4-by-4-by-n matrix of n homogeneous transformations. The input homogeneous transformation must be in the premultiply form for transformations.

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

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

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

Example: `[0 0 1.5708]`