My understanding is that Rodrigues Rotation Formula can be used to explicitly compute an exact rotation associated with a constant angular velocity vector over a given time step.

How do you derive the amount of rotation(or the theta value) from the angular velocity vector to be used in Rodrigues Formula? It's not clear to me what the units are or how they relate to an explicit measure of radians/s.

Could someone clear this up for me?



2 Answers 2


The Rodrigues rotation matrix is:

$$\mathbf R=\mathbf I_3+\sin(\theta)\,\tilde{\mathbf{d}}+ \left[1-\cos(\theta)\right]\,\tilde{\mathbf{d}}\,\tilde{\mathbf{d}}$$

where $~\mathbf d~$ is the rotation axes with $~\mathbf d\,\cdot\mathbf d=1~$ ,$\theta~$ the rotation angle about this axis


$$\tilde{\mathbf{d}}=\left[ \begin {array}{ccc} 0&-d_z&d_y\\ d_z&0&-d_x \\ -d_y&d_x&0\end {array} \right] $$

from here you obtain the angular velocity :


$$\dot{\mathbf{R}}=\mathbf R\,\tilde{\mathbf{\omega}}\quad\Rightarrow\\ \mathbf\omega=\dot\theta\mathbf d+\sin(\theta)\dot{\mathbf{d}}+ \left[1-\cos(\theta)\right]\,\tilde{\mathbf{d}}\,\dot{\mathbf{d}}$$

where the components of the angular velocity $~\mathbf\omega~$ are given in body fixed system

hence if the angular velocity vector is constant and the rotation axis is also constant then

$$\dot\theta=\mathbf d\cdot \mathbf\omega\quad,\theta= (\mathbf d\cdot \mathbf\omega)\,t$$

notice that the rotation matrix $~\mathbf R~$ is depending on the three parameter which are the generalized rotation coordinates e.g. $~d_x(t)~,d_y(t)~,\theta(t)~$ and is orthonormal $~\mathbf R^T\,\mathbf R=\mathbf I_3$


If during a time step the axis of rotation does not change, then after the rotation the new orientation is just a single axis rotation by an angle $\theta = |\vec{\omega}| \Delta t$ about the axis $\hat{z} = \vec{\omega} / | \vec{\omega} | $.

So at each time step the orientation matrix $\mathrm{R}$ is upadted as follows

$$ \mathrm{R}_{i+1} = \mathrm{R}_{i}\, \underbrace{ \mathrm{rot}( \hat{z},\,\theta)}_{\text{Rodrigues's}} $$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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