My problem originates from some code that I'm writing to parse an obscure file-type in which a geometric entity is defined in it's own 'local space', and a rotation and translation are provided to convert into 'global 3D space'.
My issue is that rotations aren't given in the form of a matrix, quaternion, euler, or other "useful" form of rotation. Instead, they provide 2 of the 3 axes for the local-space (the 3rd is derived via the cross-product).
Normally this isn't an issue, as a point would be transformed by separately multiplying it's xyz
values with the appropriate xyz
local-axes adding them up, and then adding the translation to that. However, there are times in which I need to combine these rotations together, so my thought is to convert them to quaternions, 'add' them up, and then pull the resulting axes out of that.
To explicitly state my question: how would I derive a quaternion given the three principle axes after the rotation?