transformCHOP: Matrices vs quaternions

First time using this node to process the rotations coming from a sensor.
Are they meant to return the same results regardless of the input and output format?

I have 2 different transforms with rotations (0,0,-90) & (0,90,0), which I multiply together using a third transform and then convert the values to euler.
Seems like when I am working with 3x3 matrices the final euler values are (90,-180,90), but if I change all transformCHOPs to output quaternions, the euler values are (-270, -180, 90)

Is that a rounding error that makes the rotation flip axis or something? Or the transformCHOP operates differently in the two modes?

Hi @ch3

Generally speaking, both rotations end up with the system in the same final position. They don’t describe the path and how to get there (outside of the rotation order).


RIght yeah, I see what you mean.
Euler (90,-180,90) and (-270, -180, 90) are really the same rotations… and I guess quaternion (0.5,-0.5,0.5,-0.5) and (-0.5,0.5,-0.5,0.5) are the same as well, which you can find in my test scene attached.
I was debugging a series of transformations against another app where I had it working, and thought this difference may be causing issues.

I am on 2022.32120
m3_quaternions.toe (5.9 KB)

thank you