I'm trying to understand the equations that govern velocity in a rotating reference frame... \begin{equation} v_i = (\frac{dr}{dt})_r + \Omega \times r . \end{equation}

I'd like to build a simple simulation of a rocket taking off from earth with some constant inertial velocity, say: $v_i=[1,0,0]^T$.

I assume some $\Omega$ value to represent the rotation of the earth about z, say $\Omega=[0,0,1]$.

And then solve for the percieved velocity in the rotating frame: \begin{equation} (\frac{dr}{dt})_r = v_i - \Omega \times r . \end{equation}

What I expect, after integrating velocity into position, would be an outwardly rotating spiral showing the relative position of the "rocket" to an observer in the rotating earth frame. What I see, from a simple simulink sim, is quite different.

My sim:

enter image description here

The output:

enter image description here


  • $\begingroup$ Could you post what you see, a picture or something? $\endgroup$
    – webb
    Mar 17, 2014 at 16:51
  • $\begingroup$ Would Computational Science be a better home for this question? $\endgroup$
    – Qmechanic
    Mar 17, 2014 at 17:51
  • 1
    $\begingroup$ Its a physics question at heart. The simulation is just to help me understand what the heck is happening. $\endgroup$
    – staple
    Mar 17, 2014 at 17:52
  • $\begingroup$ @Qmechanic If it was about the algorithm, it would be. But this more Physics than Numerics, I'd say. $\endgroup$ Mar 17, 2014 at 17:55
  • $\begingroup$ Use a a rotation speed that is either 10 or 0.1, so that they have different orders of magnitude. I'll answer more fully in a couple minutes. $\endgroup$ Mar 17, 2014 at 17:57

3 Answers 3


$\def\m{\mathbf}$ Coordinate vector of a point in static frame: $r^s$

Coordinate vector of the same point in rotating frame: $r^r$

(Pure rotation, both frames have the same origin.)

Coordinate transformation (rotation matrix): $R$

The matrix is orthogonal, i.e., $R^TR=RR^T=\m1$ (the unit matrix)

Important property: $\m0=\frac{d}{dt} \m1 = \frac{d}{dt} (R^TR) = \dot R^T R + R^T \dot R$

That means the matrix $\m\Omega := R^T\dot R$ is anti-symmetric $\m\Omega = -\m\Omega^T$ (with only three relevant components $\Omega_1 := \m\Omega_{32}, \Omega_2 := \m\Omega_{13}, \Omega_3:=\m\Omega_{21}$) and the products $\m\Omega v$ can be expressed with the vector $\Omega=(\Omega_1,\Omega_2,\Omega_3)$ as $\Omega\times v$.

Coordinate vector in rotating frame:

$$ r^s = R\cdot r^r $$

Velocity, time-derivative in the static frame: $$ v_s^s := \frac{d r^s}{dt} = \dot R\;r^r + R\;\dot r^r $$

Apply $R^T$ to this equation:

$$ R^T v_s^s = R^T\dot R\;r^r + \dot r^r $$

You see you transform the velocity $v_s^s$ into the rotating frame (the same where also $r^r$ lives). The right name in our nomenclature for the time derivative calculated in the static frame and transformed into the rotating one would be $v_s^r = R^T v_s^s$.

With this you get your formula $$ v_s^r = \Omega \times r^r + \dot r^r. $$


Let me first show you the math: Your position in the rotating frame be $\vec x_\text r$ where in the static frame it be $\vec x_\text s$. Now the velocity is: $$ \vec v_\text s = \frac{\mathrm d}{\mathrm dt} \vec x_\text s. $$

This should be fine. Now to go to the rotating frame, we will have to expand the notation a little bit. We have to take a look at the unit vectors and decompose the position vector into components: $$ \vec x_\text s = \sum_{i=1}^3 {x_\text s}_i \vec e_i, $$ where $\vec e_i$ are the unit vectors of the reference frame. In the static frame, they are: $$ \vec e_1 = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix},\quad \vec e_2 = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix},\quad \vec e_3 = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} $$

They do not depend on the time, so you do not have to take that into account, when doing a time derivative.

The rotating frame will have unit vectors that are time dependant, you will have the following product rule: $$ \vec v_\text r = \frac{\mathrm d}{\mathrm dt} \sum_{i=1}^3 {x_\text r}_i \vec e_i = \sum_{i=1}^3 \left( {\dot x_\text r}_i \vec e_i + {x_\text r}_i \dot{\vec e}_i \right)$$

The last term is where your $\Omega \times$ comes into play. See Derivation of the centrifugal and coriolis force for remaining the derivation.


If you want an alternative way to look at this problem, you may switch to complex numbers notation (since this is a planar problem).

If in the non rotating system the position of the rocket is $z=\gamma (t)$, then in a system that rotates with costant angular velocity $-\omega$, you have $z=e^{i\omega t}\gamma(t)$. If $\gamma (t)=vt$, then $$z=e^{i\omega t}vt=k\theta \,e^{i\theta},\qquad \text{with }k=\frac{v}{\omega},$$ that is, as you said, a spiral.


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.