[Bf-committers] Euler angles clarification

Dahlia Trimble dahliatrimble at gmail.com
Sun Mar 25 21:36:36 CEST 2018

Maybe this might help provide some insight:

On Sun, Mar 25, 2018 at 7:05 AM, Recep Aslantas <info at recp.me> wrote:

> Thanks Gaia for reply,
> For testing angles;
> In Blender I'm adding rotations to a cube with specific euler order e.g.
> XYZ, XZY... then,
> I'm exporting it as COLLADA file to see matrix produced with this euler
> angles
> Then I'm testing it with cglm library to produce same matrix with same
> euler angles like this:
> mat4 rot;
> glm_euler_xzy((vec3){Xangle, Yangle, Zangle}, rot);
> glm_mat4_print(rot, stderr);
> this produces same matrix as Blender.
> The problem is that I was thought that I was implemented intrinsic (pitch,
> yaw and roll) rotations
> but now I realized that they are extrinsic (elevation, heading and bank)
> rotations
> which are reverse order of intrinsic (intrinsic XZY == extrinsic YZX)
> So before fix that but I wanted to know what convention
> does Blender use, extrinsic or intrinsic rotations?
> Because after changed the orders, the result will not be same :/
> Recently glm added new euler functions: https://github.com/g-truc/glm/
> pull/744
> My guess is that glm::eulerAngleYZX will not produce same rotation matrix
> as Blender
> FWIW, I'm using euler angles in AssetKit ( https://github.com/recp/
> assetkit ) which is COLLADA/glTF importer
> to convert coordinate systems, for instance Z_UP to Y_UP ...
> Thanks
> - Recep

More information about the Bf-committers mailing list