I'm not a mathematician so I will try to explain this as best I could.
I have an application where transforms store rotations $R$ using Euler angles $Rx$, $Ry$ and $Rz$. The user is able to repeatedly apply a delta rotation $D$ after $R$.
The way I currently do it is by converting to quaternions and back:
- $q_R = f(R)$
- $q_D = f(D)$
- $q = q_R * q_D$
- $R = f^{-1}(q)$
Now this seems to works, with the caveat that I lose the revolutions in $D$ if it represents rotations greater than 360 degrees. So my questions are:
- Does what I'm doing make sense or is there a better way?
- How can I keep the revolutions in the resulting Euler angles?
Note: I am using Euler angles because they are easier for users to understand and manipulate. Also, I need them for animation interpolations that describe rotations with more than 360 degrees. Something that I cannot do with Quaternions.