# To Convert Rotation Vector to Rotation Matrix, the Rotation Vector Must be Unit?

I have a following formula to convert rotation vector($K\in \Bbb R^3$) to rotation matrix ($R \in SO(3)$) where $I$ is an identity matrix and K could be uniquely acquired from the conversion of an unit vector $k$ which corresponds to the axis of rotation according to this

$R = I + (\sin{\theta}) K + (1-\cos{\theta})K^2$

What I hold as of now as a dataset is a camera parameter which represents the axis of rotation, but those are not unit vectors. Is it okay for me just use the parameter which is not unit with above formula to get $R$?

The dataset is given in this link

• In a word: no. Read the derivation of the formula on that page to understand why not. It’s a simple matter to normalize a vector. – amd Jul 14 '18 at 4:35

## 1 Answer

The short answer is no. The axis of rotation for Rodrigues formula must be unit vector.

However, from the link that you posted I can see that the norm of the "rotation vector" $k$ is the angle $\theta = \|k\|$. So the "rotation vector" is encoding compactly the axis and the angle of rotation.

So for using Rodrigues formula your parameters are the axis of rotation $k/\|k\|$ and the angle of rotation $\theta = \|k\|$.