# Generalized quaternion interpolation

Generalized quaternion interpolation is an interpolation method that extends the quaternion slerp algorithm. This generalized method can interpolate between more than two unit-quaternions, but is neither closed-form nor fixed-time.

## Definition of unconstrained interpolation

General interpolation of unconstrained values $\left\{ p \right\}$ with weights $\left\{ w \right\}$ is defined as the value $m$ that solves the sum

$\sum_i w_i \left( p_i - m \right) = 0$ and $\sum_i w_i = 1.$

Because $m$ and $p$ values are unconstrained, this can be rewritten in the more familiar form of

$m = \sum_i w_i p_i.\,$

Unit quaternions, on the other hand, are constrained and the closed-form interpolation solution can not be applied to them.

## Conversion to constrained interpolation

Because the unit-quaternion space is a closed Riemannian manifold, the difference between any two values on the manifold (in the tangent-space of the first value) can be defined as

$d_{0,1} = \log \left( q_0^{-1} q_1 \right)$

where the logarithm is the hypercomplex logarithm. This difference can be applied to the value in which it is a tangent-space member as

$q_0 \exp \left( d_{0,1} \right) = q_1$

where the hypercomplex exponential is used.

With these definitions in mind, the quaternion interpolation of values $\left\{ q \right\}$ with weights $\left\{ w \right\}$ can be defined (nearly identically to the unconstrained mean) as

$\sum_i w_i \log \left( m^{-1} q_i \right) = 0$

which says that the weighted sum of all differences to $m$ (in $m$'s tangent-space) is zero.

## Recursive formulation

The quaternion mean value defined above can be found in a recursive algorithm with some initial estimate (one of the points, for example) that will halt when the net-error is below some threshold or the algorithm has iterated beyond some time limit.

Each iteration of the algorithm is as follows, with an initial mean estimate of $m_0$

$e_{k-1} = \sum_i w_i \log \left( m_{k-1}^{-1} q_i \right)$
$m_{k} = m_{k-1} \exp \left( e_{k-1} \right)$

as iteration index $k$ increases, the value $m_k$ will approach the true weighted-mean of the points.

## References

• Xavier Pennec, "Computing the mean of geometric features – Application to the mean rotation," Tech Report 3371, Institut National de Recherche en Informatique et en Automatique, March 1998.