Derivation of matrix notation of axis angle rotation

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$

• It’s all there, but you have to go back to the derivation of the formula instead of starting with the finished product. In particular, $\mathbf v_\perp = \mathbf v-(\mathbf k\cdot\mathbf v)\mathbf k = -\mathbf k\times(\mathbf k\times\mathbf v) = -K^2\mathbf v$. – amd Jul 2 '18 at 7:52
• Cross product $a=k \times v$ can be replaced with the matrix operation $a=S(k)v$. Double cross product $k \times (k \times v)$ becomes then $S^2(k)v$ ...en.wikipedia.org/wiki/… – Widawensen Jul 2 '18 at 11:39
• @amd thanks. But where does equality 2 and 3 come from? – Carpetfizz Jul 2 '18 at 14:08
• The linked website in my edit proves what I needed. I would like to close this question without actually deleting it, so that others may benefit. – Carpetfizz Jul 2 '18 at 16:10
• Instead of editing in the missing piece, you should write up an answer to the question. – amd Jul 2 '18 at 16:45

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$