# Interpolating Rotation Quaternions

Suppose I've got two quaternions that each represent an angle. I need to interpolate between these two angles (from 0% to one side to 100% to another side).

Since I work a lot with complex numbers, I'd thought about getting the "arg" of these quaternions, averaging them, and creating a new quaternion. But then I don't think quaternions have "args" or anything like that..

How does one go around getting an interpolation between two quaternions?

I come from a computer programming background, so all I have is a quaternion class I "inherited" from some tutorial on the web somewhere.

-
using $q=\cos(\alpha/2)+u\sin(\alpha/2)$ with $u=ai+bj+ck$ a unit quaternion with real part zero you can read off the angle $q$ represents (here $q$ rotates by the angle $\alpha$ about $u$ (identifying $\mathbb{R}^3$ with the pure quaternions) via conjugation, $v\mapsto qvq^{-1}$). –  yoyo Apr 3 '11 at 20:57
Related (newer) question math.stackexchange.com/q/686901/115115 –  LutzL Jun 12 '14 at 13:50

The simpler way is to take convex combinations of the two unit vectors ($\lambda$ times one and $1-\lambda$ times the other, with $\lambda\in[0,1]$) and then normalize them to obtain a unit vector again.