The sandwich product for unit quaternions
Let \(\mathbf{p}=(0,\vec{p})\) a point quaternion and \(\mathbf{q}=(w,\vec{v})\) a unit quaternion. We show that the result of \[ \mathbf{q} \mathbf{p} \mathbf{q}^{-1} \] is a point vector \[ \vec{p}' = 2\group{\vec{v}\vec{p}} \vec{v} + \vec{p}(2w^2 - 1) + \cross{\vec{v}}{\vec{p}}2w \]Proof
\[\begin{aligned}
&\mathbf{q} \mathbf{p} \mathbf{q}^-1
\end{aligned}\]
See "Quaternion corresponding to a vector".
Quaternion multiplication is associative.
\[\begin{aligned}
&=\group{w,\vec{v}}
\group{0,\vec{p}}
\group{w,-\vec{v}}\\
&=\group{\group{w,\vec{v}}
\group{0,\vec{p}}}
\group{w,-\vec{v}}
\end{aligned}\]
The definition of the Quaternion product
\[\begin{aligned}
\group{w_1 w_2 - v_1 v_2, w_1 v_2 + w_2 v_1 + \cross{v_1}{v_2}}
\end{aligned}\]
with \(w_2 = 0\) reduces to
\[\begin{aligned}
\group{-v_1 v_2, w_1 v_2 + \cross{v_1}{v_2}}
\end{aligned}\]
With \(w_1 = w\), \(v_1 = \vec{v}\), and \(v_2 = \vec{p}\) we obtain
\[\begin{aligned}
&=\group{-\vec{v}\vec{p}, w\vec{p} + \cross{\vec{v}}{\vec{p}}}
\group{w, -\vec{v}}
\end{aligned}\]
The definition of the Quaternion product
\[\begin{aligned}
\group{w_1 w_2 - v_1 v_2, w_1 v_2 + w_2 v_1 + \cross{v_1}{v_2}}
\end{aligned}\]
With \(w_1 = -\vec{v}\vec{p}\), \(w_2 = w\), \(v_1 = w\vec{p} + \cross{\vec{v}}{\vec{p}}\), and \(v_2 = -\vec{v}\) we obtain
\[\begin{aligned}
&=\group{-\vec{v}\vec{p} w - \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} \group{-\vec{v}},
\group{-\vec{v}\vec{p}} \group{-\vec{v}} +
w \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} +
\cross{\group{-\vec{v}}}{\left(w\vec{p} + \cross{\vec{v}}{\vec{p}\right)}}}\\
\end{aligned}\]
By
\[\begin{aligned}
&-\vec{v}\vec{p} w - \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} \group{-\vec{v}}\\
=&-\vec{v}\vec{p} w - w\vec{p}\group{-\vec{v}} - \cross{\vec{v}}{\vec{p}}\group{-\vec{v}}\\
=&-\vec{v}\vec{p} w + \vec{p}\group{\vec{v}} w + \cross{\vec{v}}{\vec{p}}\group{\vec{v}}\\
=&\cross{\vec{v}}{\vec{p}}\group{\vec{v}}\\
\end{aligned}\]
As \(\vec{v}\) is orthogonal to \(\cross{\vec{v}}{\vec{p}}\), it follows that \(\cross{\vec{v}}{\vec{p}}\group{\vec{v}} = 0\).
Hence we obtain
\[\begin{aligned}
&=\group{0,
\group{-\vec{v}\vec{p}} \group{-\vec{v}} +
w \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} +
\cross{\group{-\vec{v}}}{\left(w\vec{p} + \cross{\vec{v}}{\vec{p}\right)}}}\\
\end{aligned}\]
The imaginary part is \(0\) hence this simplifies to
\[\begin{aligned}
&= \group{-\vec{v}\vec{p}} \group{-\vec{v}} +
w \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} +
\cross{-\vec{v}}{w\vec{p} + \cross{\vec{v}}{\vec{p}}}
\end{aligned}\]
\(\group{-\vec{v}\vec{p}} \group{-\vec{v}} = \group{\vec{v}\vec{p}} \group{\vec{v}}\)
\(w \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} = \vec{p}w^2 + \cross{\vec{v}}{\vec{p}}w\)
\(w \group{w\vec{p} + \cross{\vec{v}}{\vec{p}}} = \vec{p}w^2 + \cross{\vec{v}}{\vec{p}}w\)
\[\begin{aligned}
&=
\group{\vec{v}\vec{p}} \vec{v} +
\vec{p}w^2 + \cross{\vec{v}}{\vec{p}}w +
\cross{-\vec{v}}{w\vec{p} + \cross{\vec{v}}{\vec{p}}}
\end{aligned}\]
\(\cross{a}{b+c} = \cross{a}{b}+\cross{a}{c}\) (Cross product is distributive over addition)
\[\begin{aligned}
&=
\group{\vec{v}\vec{p}} \vec{v}
+ \vec{p}w^2 + \cross{\vec{v}}{\vec{p}}w
+ \cross{-\vec{v}}{w\vec{p}}
+ \cross{-\vec{v}}{\cross{\vec{v}}{\vec{p}}}
\end{aligned}\]
\(\cross{sa}{b} = \cross{a}{sb} = s\cross{a}{b}\) (Cross product is compatible with scalar multiplication)
\[\begin{aligned}
&=
\group{\vec{v}\vec{p}} \vec{v}
+ \vec{p}w^2
+ \cross{\vec{p}}{\vec{v}}w - \cross{\vec{v}}{\vec{p}}w
- \cross{\vec{v}}{\cross{\vec{p}}{\vec{v}}}
\end{aligned}\]
\(\cross{a}{\cross{b}{c}} = b(ac) - c(ab)\) (Triple product)
with \(a = c = \vec{v}\) and \(b = \vec{p}\) gives \(\vec{p}(\vec{v}\vec{v}) - \vec{v}(\vec{v}\vec{p}) = \vec{p}(\vec{v}\vec{v}) - (\vec{v}\vec{p})\vec{v}\) We obtain
with \(a = c = \vec{v}\) and \(b = \vec{p}\) gives \(\vec{p}(\vec{v}\vec{v}) - \vec{v}(\vec{v}\vec{p}) = \vec{p}(\vec{v}\vec{v}) - (\vec{v}\vec{p})\vec{v}\) We obtain
\[\begin{aligned}
&=
\group{\vec{v}\vec{p}} \vec{v}
+ \vec{p}w^2
+ \cross{\vec{p}}{\vec{v}}2w
- \vec{p}(\vec{v}\vec{v}) + (\vec{v}\vec{p})\vec{v}
\end{aligned}\]
\(\mathbf{q}\) is a unit quaternion, \(\vec{v}\vec{v} = 1 - w^2\) holds. We obtain
\[\begin{aligned}
&=
2\group{\vec{v}\vec{p}} \vec{v}
+ \vec{p}w^2
+ \cross{\vec{v}}{\vec{p}}2w
- \vec{p}(1 - w^2)\\
&=
2\group{\vec{v}\vec{p}} \vec{v}
+ \cross{\vec{v}}{\vec{p}}2w
+ \vec{p}w^2
- \vec{p} + \vec{p}w^2\\
&=
2\group{\vec{v}\vec{p}} \vec{v}
+ \cross{\vec{v}}{\vec{p}}2w
+ \vec{p}(2w^2 - 1)
\end{aligned}\]
The sandwich product for rotation quaternions
Let \(\mathbf{p}=(0,\vec{p})\) a point quaternion and \(\mathbf{q}=(\cos\left(\frac{\alpha}{2}\right),\hat{r}\sin\left(\frac{\alpha}{2}\right))\) a rotation quaternion. We show that the result of \[ \mathbf{q} \mathbf{p} \mathbf{q}^{-1} \] is a point vector \[ \vec{p}' = 2\group{\vec{v}\vec{p}} \vec{v} + \cross{\vec{v}}{\vec{p}}2w + \vec{p}(2w^2 - 1) \]Proof
\[\begin{aligned}
&\mathbf{q} \mathbf{p} \mathbf{q}^-1
\end{aligned}\]
By "The sandwich product for unit quaternions" and with
\(w = \cos\left(\frac{\alpha}{2}\right)\) and \(\vec{v} = \hat{r}\sin\left(\frac{\alpha}{2}\right)\) we obtain.
\[\begin{aligned}
2\group{\hat{r}\sin\left(\frac{\alpha}{2}\right)\vec{p}}\hat{r}\sin\left(\frac{\alpha}{2}\right)
+ \cross{\hat{r}\sin\left(\frac{\alpha}{2}\right)}{\vec{p}}2\cos\left(\frac{\alpha}{2}\right)
+ \vec{p}\group{2\cos^2\left(\frac{\alpha}{2}\right) - 1}
\end{aligned}\]
\[\begin{aligned}
\group{\hat{r}\vec{p}}\hat{r}2\sin^2\left(\frac{\alpha}{2}\right)
+ \cross{\hat{r}}{\vec{p}}2\cos\left(\frac{\alpha}{2}\right)\sin\left(\frac{\alpha}{2}\right)
+ \vec{p}\group{2\cos^2\left(\frac{\alpha}{2}\right) - 1}
\end{aligned}\]
\(\cos\left(2\omega\right) = 2\cos^2\left(\omega\right) - 1\)
\(\sin\left(2\omega\right) = 2\cos\left(\omega\right)\sin\left(\omega\right)\)
\(\sin^2\left(\frac{\omega}{2}\right) = \frac{1-\cos\left(\omega\right)}{2}\)
\(\sin\left(2\omega\right) = 2\cos\left(\omega\right)\sin\left(\omega\right)\)
\(\sin^2\left(\frac{\omega}{2}\right) = \frac{1-\cos\left(\omega\right)}{2}\)
\[\begin{aligned}
\group{\hat{r}\vec{p}}\hat{r}\left(1-\cos\left(\alpha\right)\right)
+ \cross{\hat{r}}{\vec{p}}\sin\left(\alpha\right)
+ \vec{p}\cos\left(\alpha\right)
\end{aligned}\]
\(\projection{\vec{p}}{\hat{r}} = \left(\dot{\vec{p}}{\hat{r}}\right)\hat{r} = \left(\dot{\hat{r}}{\vec{p}}\right)\hat{r}\)
\[\begin{aligned}
\projection{\vec{p}}{\hat{r}}\left(1-\cos\left(\alpha\right)\right)
+ \cross{\hat{r}}{\vec{p}}\sin\left(\alpha\right)
+ \vec{p}\cos\left(\alpha\right)
\end{aligned}\]
\[\begin{aligned}
\projection{\vec{p}}{\hat{r}}
- \projection{\vec{p}}{\hat{r}}\cos\left(\alpha\right)
+ \cross{\hat{r}}{\vec{p}}\sin\left(\alpha\right)
+ \vec{p}\cos\left(\alpha\right)
\end{aligned}\]
\[\begin{aligned}
\projection{\vec{p}}{\hat{r}}
+ \cross{\hat{r}}{\vec{p}}\sin\left(\alpha\right)
+ \left(\vec{p} -\projection{\vec{p}}{\hat{r}}\right)\cos\left(\alpha\right)
\end{aligned}\]
\(\rejection{\vec{p}}{\hat{r}} = \vec{p} - \projection{\vec{p}}{\hat{r}}\)
\[\begin{aligned}
\projection{\vec{p}}{\hat{r}}
+ \cross{\hat{r}}{\vec{p}}\sin\left(\alpha\right)
+ \rejection{\vec{p}}{\hat{r}}\cos\left(\alpha\right)
\end{aligned}\]
\[\begin{aligned}
\rejection{\vec{p}}{\hat{r}}\cos\left(\alpha\right)
+ \cross{\hat{r}}{\vec{p}}\sin\left(\alpha\right)
+ \projection{\vec{p}}{\hat{r}}
\end{aligned}\]
Observe this is the same formula as in Rotate points using axis-angles.