Most efficient way to linearly interpolate rotations expressed as axis-angles?

1.3k Views Asked by At

I have rotations expressed as axis-angle pairs.

I want to linearly interpolate between two rotations such that if I would animate the interpolation, the resulting rotation would be the most direct transition between the two orientations. What I currently do is convert these axis-angle rotations to a quaternion, then perform SLERP and then convert back.

Is there a more efficient (in terms of computational cost)/direct way of doing this?

1

There are 1 best solutions below

0
On

Make each axis a unit vector and scale them using the respective angles. Then linearly interpolate the two axis. Use the length of the interpolated vector as rotation angle and the normalized vector as rotation axis. Other option is linearly interpolate the axis and angle independently, normalizing the axis after interpolation. What you loose compared with SLERP? The linear interpolation of angles does not produce a constant velocity of rotation i.e., a constant variation of parameter t will produce a rotation whose speed increases and decreases while going from start to end.