Main Content

eul2tform

Convert Euler angles to homogeneous transformation

Description

tform = 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".

example

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 intrinsic Euler rotation angles. Each row represents one Euler angle set in the sequence defined by the sequence argument. For example, with the default sequence "ZYX", each row of eul is of the form [zAngle yAngle xAngle].

Example: [0 0 1.5708]

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

  • "ZYX" (default)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

Each character indicates the corresponding axis. For example, if the sequence is "ZYX", then the three specified Euler angles are interpreted in order as a rotation around the z-axis, a rotation around the y-axis, and a rotation around the x-axis. When applying this rotation to a point, it will apply the axis rotations in the order x, then y, then z.

Data Types: string | char

Output Arguments

collapse all

Homogeneous transformation matrix, specified by a 4-by-4-by-n array of n homogeneous transformation matrices. When using the transformation 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]

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2015a

expand all