Skip to main content

eulerAnglesFromMatrix

eulerAnglesFromMatrix(output, m4, a0, a1, a2)

returns the Euler-angles of the rotation matrix \c *this using the convention defined by the triplet (a0,a1,a2)

Each of the three parameters a0, a1, a2 represents the respective rotation axis as an integer in 2. For instance, in:

Vector3f ea = mat.eulerAngles(2, 0, 2);

"2" represents the z axis and "0" the x axis, etc. The returned angles are such that we have the following equality:

mat == AngleAxisf(ea[0], Vector3f::UnitZ())
* AngleAxisf(ea[1], Vector3f::UnitX())
* AngleAxisf(ea[2], Vector3f::UnitZ());

This corresponds to the right-multiply conventions (with right hand side frames).

The returned angles are in the ranges [0:pi]x[-pi:pi]x[-pi:pi]. NOTE: ported from Eigen C++ library

Kind: global function
See

ParamTypeDescription
outputArray.<number>
m4Array.<number> | Float32Array | mat4source matrix to extract rotation from
a0numberaxis index (0 = X, 1 = Y, 2 = Z)
a1numberaxis index
a2numberaxis index