Derivation of matrix notation of axis angle rotation

cross productlinear algebrarotations

I'm reading this article about the Rodrigues formula. While I understand how the vector notation of this formula was derived, I'm having a little trouble understanding how to convert an axis-angle rotation into a rotation matrix.

Rodrigues Formula

$$ \mathbf{v}' = cos(\theta)\mathbf{v} + sin(\theta)(\mathbf{k} \times \mathbf{v}) + (1-cos(\theta))\mathbf{k}(\mathbf{k} \cdot \mathbf{v})$$

I also understand that the cross product $(\mathbf{k} \times \mathbf{v}) = Skew(\mathbf{k})\mathbf{v}$.

However, the explanation provided in the article, doesn't merely make this substitution, but for some reason introduces the term $K^2\mathbf{v}$. The $cos(\theta)$ term is also dropped.

I believe I'm missing some obvious step that was purposefully omitted in this derivation. Any help in filling in the gaps would be much appreciated.

EDIT: According to this website, there's the following "outer product identity"

$nn^T = [n]_{\times}^2 +I$

Best Answer

Rodrigues formula is:

$v′=(\cos \theta)v + (\sin \theta)b \times v + (1− \cos \theta) b (b \cdot v)$

Using the fact that:

$b \times (b \times v)=b(b \cdot v)−v(b \cdot b)$

Using $\|b\| = 1$:

$b \times (b \times v)=b(b \cdot v)−v$

$(1− \cos \theta) b \times (b \times v) = (1− \cos \theta)b (b \cdot v) − v + (\cos \theta) v$

Now we need to accomodate those terms in Rodrigues formula:

$v′= v + (\sin \theta)b \times v + (1− \cos \theta ) b (b \cdot v) − v + (\cos \theta) v $

Replacing:

$v′= v + (\sin \theta)b \times v + (1− \cos \theta) b \times (b \times v)$

Now you can apply the matrix identities:

$K v = b \times v$

$K^2 v = b \times (b \times v)$

To get:

$v′= v + (\sin \theta)K v + (1− \cos \theta) K^2 v$

Finally, you can factor out $v$ to get the matrix $R$:

$v′= R v$

$R = I + (\sin \theta)K + (1− \cos \theta) K^2$