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
- https://gitlab.com/libeigen/eigen/-/blob/master/Eigen/src/Geometry/EulerAngles.h
- https://stackoverflow.com/questions/11514063/extract-yaw-pitch-and-roll-from-a-rotationmatrix
| Param | Type | Description |
|---|---|---|
| output | Array.<number> | |
| m4 | Array.<number> | Float32Array | mat4 | source matrix to extract rotation from |
| a0 | number | axis index (0 = X, 1 = Y, 2 = Z) |
| a1 | number | axis index |
| a2 | number | axis index |