[Bf-committers] Euler angles clarification
Recep Aslantas
info at recp.me
Sun Mar 25 22:39:09 CEST 2018
Dahlia, converting between coord-sys is already working,
I'm just trying to understand what kind of euler angles used in Blender
I found this: https://github.com/mrdoob/three.js/issues/2803#issuecomment-11599841
According to that Blender uses EXTRINSIC rotations
I wanted to be sure that Blender uses EXTRINSIC rotations this is why I asked this question here,
Also I found this: https://wiki.blender.org/index.php/User:Aligorith/EulerRotationOrder
It seems Blender only uses STATIC rotations in this algorithm ( Ken Shoemake's algorithm ) if that doc is updated.
Original algorithm: https://github.com/erich666/GraphicsGems/blob/master/gemsiv/euler_angle/EulerAngles.h
Maybe "static axes" in that algorithm corresponds to "extrinsic rotations"
and "rotating axes" corresponds to "intrinsic rotations"
in this case everything would be clear
-R
> On March 25, 2018 at 7:36 PM Dahlia Trimble <dahliatrimble at gmail.com mailto:dahliatrimble at gmail.com > wrote:
>
>
> Maybe this might help provide some insight:
> https://www.blender.org/forum/viewtopic.php?t=26417
>
> On Sun, Mar 25, 2018 at 7:05 AM, Recep Aslantas <info at recp.me mailto: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
> >
> > > _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org mailto:Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers
>
More information about the Bf-committers
mailing list