I've got an app that uses quaternions, and I'd like to convert each quaternion to the corresponding Euler angles. The issue is, when I convert them, the roll and yaw are bounded within 360 degrees (i.e, when the previous Euler angle was at 179.9, the next one jumps to -179.9).
I'd like to figure out a way to avoid this jump, and I was wondering if a single quaternion stores the cumulative rotation when converting. i.e, I would calculate the "remainder" angle the way I am currently, and I would use another function to calculate how many 360 degree rotations to offset it by.
I've done some quick experiments, and it seems rotating a quaternion by 360, 720, and 1080 about an arbitrary R3 axis yields distinct quaternions, except for the case of a scalar quaternion.
Can anyone point me in the right direction?