eul2tform

Convert Euler angles to homogeneous transformation

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]