2

This becomes obvious if we walk through the loop step by step. Let's say your duration is 1 second, we're running at 30 FPS, and the object starts with Euler angles (0, 0, 0): On the first loop, we blend between (0, 0, 0) and (0, 90, 0) by a factor of 1/30. 0 + (90-0)*1/30 = 0 + 90/30 = 0 + 3, so that brings us to the angles (0, 3, 0) On the second loop, ...


1

You can get the difference between the two transformations by multiplying the new one by the inverse of the old. (If these matrices are pure rotations, with no translation/scale/shear, then this inverse is just the transpose) $$R_\text{diffference} = R_1 \times R_0^{-1}$$ Now you can extract the quaternion representing the rotation from this difference ...


Only top voted, non community-wiki answers of a minimum length are eligible