I am currently studying dynamics and trying to understand the relation between angular velocity $\omega$ of a rotating frame and the eulerian rotation matrix $\mathbf{R=\mathbf{R}\mathrm{(\psi)\mathbf{R}(\theta)\mathbf{R}(\phi)}}$, which accomplishes the rotation. I found a derivation at MIT:

MIT Courseware - Kinematics of moving frames

They basically try to find the derivative of $\overrightarrow{x}(t)=\overrightarrow{x}_{0}(t)+\mathbf{R}^{T}\overrightarrow{x}_{b}(t)$, where

$\overrightarrow{x}(t)$ is a vector in the inertial frame

$\overrightarrow{x}_{b}(t)$ is a vector in the moving frame and

$\mathbf{R}^{T}=\left[\begin{array}{ccc} \cos\theta\cos\phi & -\cos\psi\sin\phi+\sin\psi\sin\theta\cos\phi & \sin\psi\sin\phi+\cos\psi\sin\theta\cos\phi\\ \cos\theta\sin\phi & \cos\psi\cos\phi+\sin\psi\sin\theta\sin\phi & -\sin\psi\cos\phi+\cos\psi\sin\theta\sin\phi\\ -\sin\theta & \sin\psi\cos\theta & \cos\psi\cos\theta \end{array}\right]$

(the above vectors shall be defined as the triple of projections of directed line segments along the coordinate axes)

Now, if the angles of rotation are small, $\mathbf{R}^{T}$ can be approximated as:

$\mathbf{R}^{T}\simeq\left[\begin{array}{ccc} 1 & -\delta\phi & \delta\theta\\ \delta\phi & 1 & -\delta\psi\\ -\delta\theta & \delta\psi & 1 \end{array}\right]=\underbrace{\left[\begin{array}{ccc} 0 & -\delta\phi & \delta\theta\\ \delta\phi & 0 & -\delta\psi\\ -\delta\theta & \delta\psi & 0 \end{array}\right]}_{\textrm{cross product operator}}+\boldsymbol{I}_{3x3}=\boldsymbol{I}_{3x3}+\delta\overrightarrow{E}\times$

where $\delta\overrightarrow{E}=\left[\begin{array}{c} \delta\psi\\ \delta\theta\\ \delta\phi \end{array}\right]$

Now the derivative of vector $\overrightarrow{x}(t)$ would be:

$\begin{eqnarray*} \overrightarrow{x}(t) & = & \overrightarrow{x}_{0}(t)+\overrightarrow{x}_{b}(t)\\ \overrightarrow{x}(t+\delta t) & = & \overrightarrow{x}_{0}(t)+\delta\overrightarrow{x}_{0}(t)+\mathbf{R}^{T}\overrightarrow{x}_{b}(t)+\delta\overrightarrow{x}_{b}(t)\\ & = & \overrightarrow{x}_{0}(t)+\delta\overrightarrow{x}_{0}(t)+\overrightarrow{x}_{b}(t)+\delta\overrightarrow{E}\times\overrightarrow{x}_{b}(t)+\delta\overrightarrow{x}_{b}(t)\\ \frac{\delta\overrightarrow{x}(t)}{\delta t} & = & \frac{\delta\overrightarrow{x}_{0}(t)}{\delta t}+\frac{\delta\overrightarrow{E}}{\delta t}\times\overrightarrow{x}_{b}(t)+\frac{\delta\overrightarrow{x}_{b}(t)}{\delta t}\\ & = & \frac{\delta\overrightarrow{x}_{0}(t)}{\delta t}+\overrightarrow{\omega}\times\overrightarrow{x}_{b}+\frac{\delta\overrightarrow{x}_{b}(t)}{\delta t} \end{eqnarray*}$

Now my question: Why can this small angle approximation be made? Isn't that approximation only valid for small rotations and therefore the derived formula only valid in that case?

I know that there are quite some other people who had problems with this, sadly I didnt understand the explanations I found in the web.

edit: I just started to doubt the general validity of the above derivation, because I compared

$\frac{\delta}{\delta t}\overrightarrow{x}(t)=\frac{\delta}{\delta t}\overrightarrow{x}_{0}(t)+\overrightarrow{\omega}\times\overrightarrow{x}_{b}(t)+\frac{\delta}{\delta t}\overrightarrow{x}_{b}(t)$ (last equation from above)


$\frac{\delta}{\delta t}\overrightarrow{x}(t)=\frac{\delta}{\delta t}\overrightarrow{x}_{0}(t)+\frac{\delta}{\delta t}\mathbf{R\cdot}\overrightarrow{x}_{b}(t)+\mathbf{R}\cdot\frac{\delta}{\delta t}\overrightarrow{x}_{b}(t)$,

last of which was derived from $\overrightarrow{x}(t)=\overrightarrow{x}_{0}(t)+\mathbf{R}\cdot\overrightarrow{x}_{b}(t)$ by applying product rule.

That would mean, that $\frac{\delta}{\delta t}\mathbf{R}=\overrightarrow{\omega}\times$ and $\mathbf{R}=\boldsymbol{I}_{3x3}$, which is wrong, in general.

Applying the above derivation to a real problem I got two different vectors for $\overrightarrow{\omega}$, one from inspection and another one from:

$\overrightarrow{\omega}=\frac{\delta}{\delta t}\overrightarrow{E}=\left[\begin{array}{c} \frac{\delta}{\delta t}\psi\\ \frac{\delta}{\delta t}\theta\\ \frac{\delta}{\delta t}\phi \end{array}\right]$

That leads to my second question, how can $\overrightarrow{\omega}$ be expressed in terms of the rotation matrix $\mathbf{R}$ in the general case?

I found a not so general solution to that question here (the second answer) which basically says that $\frac{\delta}{\delta t}\overrightarrow{E}\times=\overrightarrow{\omega}\times=\dot{\mathbf{R}}\cdot\mathbf{R}^{T}$.

So now we have three different terms that should be related as following (but aren't): $\frac{\delta}{\delta t}\overrightarrow{E}\times=\dot{\mathbf{R}}\cdot\mathbf{R}^{T}=\left[\begin{array}{c} \frac{\delta}{\delta t}\psi\\ \frac{\delta}{\delta t}\theta\\ \frac{\delta}{\delta t}\phi \end{array}\right]\times=\dot{\mathbf{R}}$

I would love to derive an equation for $\overrightarrow{\omega}$ in a similar manner, only for the situation of shifted rotating and inertial frame coordinate vectors: $\overrightarrow{x}(t)=\overrightarrow{x}_{0}(t)+\mathbf{R}\cdot\overrightarrow{x}_{b}(t)$.

Sadly my linear algebra knowledge is somewhat limited. That is why I would be happy about some further help. Many thanks in advance!


1 Answer 1


The derivation you quoted assumes the angles $\psi,\theta,\phi$ depend on time, i.e.


In this case, at the moment $t+\delta t$ you can approximate

$$\begin{cases}\psi(t+\delta t)=\psi(t)+\delta\psi(t)\\\theta(t+\delta t)=\theta(t)+\delta\theta(t)\\\phi(t+\delta t)=\phi(t)+\delta\phi(t)\end{cases}$$

In other words, an infinitesimal increment in time leads to infinitesimal increments of the angles captured by the vector


  • $\begingroup$ Hmm, I dont think I get it... $\endgroup$
    – B. Preiss
    Dec 17, 2017 at 21:42
  • $\begingroup$ @B.Preiss Do you agree that $\delta\boldsymbol{x}=\delta\boldsymbol{E}\times\boldsymbol{x}$? $\endgroup$
    – eranreches
    Dec 17, 2017 at 21:45
  • $\begingroup$ @B.Preiss For small rotation? $\endgroup$
    – eranreches
    Dec 17, 2017 at 21:50
  • $\begingroup$ Hmm, I dont think I get it... if I apply what you have written above to my sines and cosines: $\sin(\psi(t+\delta t))=\sin(\psi(t)+\delta\psi(t))=\sin(\psi(t))\cdot\cos(\delta\psi(t))+\cos(\psi(t))\cdot\sin(\delta\psi(t))$. Now, when I apply: $\cos(\delta\psi(t))=0$ still $\cos(\psi(t))\cdot\sin(\delta\psi(t))$ remains. Isn't that term only equal to $\delta\psi(t)$ if $\psi(t)$ is close to $0$? $\endgroup$
    – B. Preiss
    Dec 17, 2017 at 21:53
  • $\begingroup$ "for small rotation": can we assume a small rotation in a general case? Couldn't the angles of a general rotation be significantly bigger than 0? $\endgroup$
    – B. Preiss
    Dec 17, 2017 at 21:57

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.