Two different formalisms of rotation matrices: the x and z are opposites

63 Views Asked by At

I have two different graphic representation systems that differ in the sign of the x and z vectors of the 3×3 rotation matrix.

They appear to have the same handedness (right). I have read the wikipedia articles, but I have no idea what the difference in formalism is.

On the technical side, one is handled using Python numpy, while the other uses 3js — numpy cannot handle quaternions, while 3js can, but I believe prefers Euler under the hood. Three.js has some issues with conversion of rotational matrices. So the matrix I am reporting is a 3×3 slice of the 4×4 transform matrix divided by the cubic root of its determinant (its scaling factor).

The vector representing the rotation point/translation has also got the opposite sign, but curiously if where I to display that vector the 3js system the sign I would use is the one from the other system. Also the scaling factor (camera distance) is opposite, strictly positive in 3js.