Given a rotation vector, can we always get the same corresponding rotation matrix computed by the Rodrigue's rotation formula?


Mathematically a rotation vector(or axis angle) representation will always convert to the same rotation matrix.

However, multiple different rotation vectors can lead to the same rotation matrix.

A rotation vector represents a rotation by an axis and an angular rotation around that axis(axis angle).

$$ \begin{bmatrix} e_x \\ e_y \\ e_z \end{bmatrix},\theta$$

Thinking about it for a bit it is pretty easy to see where different axis angle representations will lead to the same rotation.

One is when the angle($\theta$) is the same angle but in the opposite direction. E.g $\frac{\pi}{2}$ and $\frac{-3\pi}{2}$.

The other is when the axis points in the opposite direction, and the angle is also in the opposite direction.

$$ \{\begin{bmatrix} e_x \\ e_y \\ e_z \end{bmatrix},\theta\}=\{\begin{bmatrix} -e_x \\ -e_y \\ -e_z \end{bmatrix},-\theta\}$$

Finally for numerical reason oftentimes the Rodrigues formula will also set some values constant/Identity if the rotation is small enough. So while mathematically they should lead to distinct values, on your computer they might end up being the same thing.

| improve this answer | |

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.