I'm reading a paper and came across the following definition of a rotation vector.

$P_r = 2sin\frac{\theta}{2}\begin{bmatrix} n_1 & n_2 & n_3 \end{bmatrix}^T, 0 \leq \theta \leq \pi$

and "$R$ is a simple function of $P_r$ without any trigonometric functions"

$R = (1 -\frac{|P_r|^2}{2})I + \frac{1}{2}(P_rP_r^T+\alpha \cdot Skew(P_r))$

$\alpha = \sqrt{4 - |P_r|^2}$

I'm not sure where these two equations come from. I am, however familiar with the matrix formulation of the Rodrigues formula for rotation.

$R = I + Skew(n)sin(\theta) + Skew(n)^2(1-cos(\theta))$

where $n$ is the axis of rotation and $\theta$ is the angle of rotation.

I think the two equations are somehow related, but I don't know a whole lot about how the first one was derived.

  • 1
    $\begingroup$ See Rotation matrix from axis and angle at Wikipedia, and particularly the Exponential map section (Lie algebra), then the Exponential map section in the Rotation group SO(3) article. I'm not a mathematician myself, so perhaps someone with better grasp of the correct terminology could distill the most salient points here? $\endgroup$ – Nominal Animal Jul 2 '18 at 19:56
  • $\begingroup$ @NominalAnimal thanks, this certainly gives a hint towards the right direction. $\endgroup$ – Carpetfizz Jul 2 '18 at 20:08
  • $\begingroup$ Presumably $n=(n_1,n_2,n_3)^T$ is a unit vector? $\endgroup$ – amd Jul 2 '18 at 21:39
  • $\begingroup$ @amd yes that’s right $\endgroup$ – Carpetfizz Jul 2 '18 at 21:41
  • 1
    $\begingroup$ I’m a bit amused by the “without trigonometric functions” assertion since the definition of $P_r$ involves... a trigonometric function. They’re there, but in disguise. $\endgroup$ – amd Aug 15 '18 at 23:38

We can get the Rodrigues formula:

$v' = (\cos \theta) v + (\sin \theta) n \times v + (1 - \cos \theta) n ( n \cdot v)$

Or in matrix form:

$v' = ((\cos \theta) I + (\sin \theta) Skew(n) + (1 - \cos \theta) n n^T) v$

From the equation that you have. First notice that:

$\| P_r \| = 2 \sin \theta /2$

$\| P_r \|^2 = 2(1 - \cos \theta)$

So the first term is just:

$(1 - \| P_r \|^2/2) I = (\cos \theta) I$

Using the same identity, the term $P_r P_r^T$ is just the same as $2(1 - \cos \theta) n n^T$

The third term $\alpha Skew (P_r)$ is just $(2 \sin \theta) Skew(n)$ since:

$\alpha Skew (P_r)= \alpha (2 \sin \theta/2) Skew (n)$

$\alpha = \sqrt{4 - 4\sin^2(\theta/2)} = 2 \sqrt{1 - \sin^2(\theta/2)} = 2 \cos \theta/2$

Using the identity $\sin \theta = 2 \cos(\theta/2) \sin(\theta/2)$:

$\alpha Skew (P_r) = 2 \sin \theta Skew (n)$

Joining the three pieces we finally get:

$R = (\cos \theta) I + (\sin \theta) Skew(n) + (1 - \cos \theta) n n^T$

Which is Rodrigues formula

  • $\begingroup$ Perfect. Thanks! $\endgroup$ – Carpetfizz Jul 3 '18 at 14:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.