# Linear interpolation of rotations

To linearly interpolate between two points $p_1$ and $p_2$ in 3-space, I can calculate:

$p_t = p_1 + t(p_2-p_1)$

where $t$ is a parameter $0 <= t <= 1$

Is there any representation of rotation that would allows shortest-path interpolation using this function (with appropriately defined addition, subtraction and scaling operations)?

I am aware of the geometric slerp, but wondered if there was a representation that could work with just a lerp.

-

## 1 Answer

Well, there is some analogous formula for rotations. I'll just write the formula first and then I'll explain the logic:

$$F_t = A_0 \cdot \exp(tX), t\in \lbrack 0, 1 \rbrack,$$ where $A_0$ and $A_1$ are initial and terminal rotation respectively and $X$ is a skew-symmetric matrix which $\exp X = A^{-1}_0\cdot A_1$. Analogy is subtle and more sort of "looks similar if we change + to * and - to \". But this general formula also can be applied to the group of translations of $R^n$ and after some simplifications it may lead to the formula like your original interpolation.

So, the theory behind all this stuff. Rotations of $\mathbb{R}^3$ form a group which is called $SO(3)$. The elements of group may be represented by matrices $\mathbb{R}^{3\times3}$ which are orthogonal ("O" from $SO(3)$) and have determinant equal to 1 ("S", "special" from $SO(3)$). The matrix exponent is defined as a sum of matrix series $$\exp A = I + A + \frac{A^2}{2!} + \frac{A^3}{3!} + \dots$$

It is known fact that any element of $SO(3)$ can be represented as $exp(X)$, where $X$ is skew-symmetric matrix. So, the rest of explanation is simple: we try to find such $X$ that $F_1 = A_1 = A_0\cdot \exp X$. But since $A^{-1}_0 A_1$ is also from $SO(3)$ it can be represented this way.

So, we've constructed the interpolation that is similar in some sense to linear case. The only question that I've omitted — is this a shortest path? If I'll find an exact answer, I'll add it later. Or someone else will point out the reference.

-