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$
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$