Deriving the Coriolis Force

A step-by-step derivation for the mathematically cautious

The Big Idea

Imagine an object — a ball, a parcel of air, a missile — moving through space. Described from a stationary viewpoint (an "inertial frame"), Newton's laws work perfectly: the object accelerates according to the forces on it, and that's that.

But now imagine you are standing on a merry-go-round — or, more relevantly, on the surface of the spinning Earth. You're rotating, but the object isn't (or not in the same way). From your perspective, the object appears to follow a curved path, even when no sideways force is acting on it. It looks as though something is pushing it off course.

The goal of this derivation is to answer a precise mathematical question: if we know how an object accelerates in a stationary frame, what does its acceleration look like when described from a rotating frame? The answer will contain an extra term — the Coriolis acceleration — that explains the apparent deflection.

X Y (fixed) x y Ω (out of page) Inertial frame (fixed) Rotating frame (spinning)
Figure 1. Both frames share the same origin. The blue (X, Y) axes are fixed; the red (x, y) axes rotate counter-clockwise at angular velocity Ω. The angle between them, θ = Ωt, grows steadily with time.

Step 1: Set Up the Problem

Consider two reference frames sharing the same origin (Figure 1):

Definitions

Capital letters (X, Y) = coordinates in the inertial (stationary) frame
Lowercase letters (x, y) = coordinates in the rotating frame
Ω = angular velocity of the rotating frame (radians per second)
r = position vector of some object

The red axes spin counter-clockwise (the mathematically positive direction) at rate Ω relative to the fixed blue axes. At time t, they have turned through angle θ = Ωt. Both observers describe the same object using their own axes.

Ω is a vector

Angular velocity isn't just a number — it's a vector that points along the axis of rotation. For counter-clockwise rotation in the x–y plane, Ω points out of the page (along the z-axis), determined by the right-hand rule: curl the fingers of your right hand in the direction of rotation, and your thumb points along Ω. On Earth, Ω points from the South Pole to the North Pole.

Step 2: How Basis Vectors Change in Time

This is the crux of the whole derivation, so we'll take it slowly.

First: what is a basis vector?

A basis vector is a unit-length arrow defining a direction for a coordinate axis — a ruler of length 1. For the inertial frame: ÊX, ÊY (capital, fixed). For the rotating frame: êx, êy (lowercase, spinning). The "hat" means "unit length".

To describe position r, you decompose it along the basis vectors:

r = 3 ÊX + 2 ÊY  (inertial)    or    r = 3.4 êx + 1.2 êy  (rotating)

The same physical point gets different numbers in different frames.

The inertial basis vectors ÊX, ÊY never change. But the rotating basis vectors êx, êy — the red arrows spinning in Figure 1 — are themselves moving. When we compute rates of change in the rotating frame, we must account for the fact that the rulers are spinning.

Figure 2 makes this tangible. Point P is stationary — it never moves. The left panel shows the inertial observer's view (fixed axes, basis vectors rotating). The right panel shows what the rotating observer sees: their own axes are "fixed" (because they're spinning with them), so instead P appears to orbit in the opposite direction.

Inertial observer's view ÊX ÊY êx êy P r P is stationary. Axes ê spin. Rotating observer's view êx êy P Axes are "fixed". P orbits!
Figure 2. The same stationary point P, seen from two perspectives. Left: the inertial observer sees P staying put while the red basis vectors rotate. Right: the rotating observer sees their own axes as fixed, so P appears to orbit clockwise. Neither observer is "wrong" — they just use different coordinate systems.
Key insight: in the rotating frame, even a stationary object has changing coordinates, because the rulers are rotating beneath it. Any derivative computed in the rotating frame misses this ruler-spinning contribution — we need to add it back in.

Now let's quantify exactly how fast a basis vector changes. At any instant, êx points in some direction. A tiny time δt later, the frame has rotated through δθ = Ω δt, and êx points slightly differently. We can describe this change using the rotation angle — treated as a vector.

Just as Ω is a vector pointing along the rotation axis, the angle of rotation θ = θ is also a vector along that axis (where points out of the page). A small rotation δθ acting on any vector ê produces a change:

δê = δθ × ê

This is a fundamental property of infinitesimal rotations: a small rotation by angle δθ about an axis moves the tip of a unit vector by an amount δθ, in a direction perpendicular to both the axis and the vector — exactly what the cross product delivers.

Sanity check: try it for êx = (1, 0, 0)

Suppose we rotate êx = (1, 0, 0) by a small angle δθ about the z-axis, so δθ = (0, 0, δθ). Geometrically, the tip moves from (1, 0, 0) to approximately (1, δθ, 0) — a tiny nudge in the y-direction.

Now compute the cross product:

δθ × êx = (0, 0, δθ) × (1, 0, 0) = (0·0 − δθ·0,  δθ·1 − 0·0,  0·0 − 0·1) = (0, δθ, 0)

It gives δê = (0, δθ, 0) — a change of magnitude δθ pointing in the y-direction. Matches the geometry exactly. ✓

êx(t) êx(t+δt) δê δθ δθ, Ω (axis of rotation, out of page) Why the cross product? δθ points along the rotation axis ê lies in the rotation plane → they are perpendicular (α = 90°) Magnitude: |δθ × ê| = |δθ| · |ê| · sin 90° = δθ · 1 · 1 = δθ ✓ Direction: Right-hand rule: fingers along δθ (out of page), curl toward ê → ⊥ to ê, in rotation sense ✓
Figure 3. The change δê = δθ × ê. Because δθ points along the rotation axis (out of page) and ê lies in the plane, the cross product gives a vector perpendicular to ê with magnitude δθ — exactly matching the geometry.

Now we simply divide by δt:

(dê/dt)inertial = (dθ/dt) × ê = Ω × ê (1)

since dθ/dt = Ω by definition. The subscript "inertial" matters: this is the rate of change of ê as seen from the fixed frame. In the rotating frame, the basis vectors are constant by definition — they are the axes — so (dê/dt)rotating = 0. Equation (1) holds for any basis vector of the rotating frame.

More on the cross product: component form and key properties

The cross product A × B produces a vector perpendicular to both inputs.

Direction: Right-hand rule. Magnitude: |A × B| = |A||B| sin α.

Components: A × B = (AyBz−AzBy, AzBx−AxBz, AxBy−AyBx)

Key: anti-commutative (A×B = −B×A) and linear (distributes, scalars factor out).

Verify Equation (1) with trigonometry

We can check by expressing êx in the fixed frame and differentiating directly. At time t, the rotating x-axis has turned through θ = Ωt:

X Y êx cos θ sin θ θ
êx is a unit vector at angle θ from the X-axis, so its X- and Y-components are cos θ and sin θ.

So in the fixed frame: êx(t) = (cos Ωt, sin Ωt, 0). Now we compute the time derivative two different ways and compare:

Direct differentiation

dêx/dt
= d/dt (cos Ωt, sin Ωt, 0)
= (−Ω sin Ωt, Ω cos Ωt, 0)
=

Cross product Ω × êx

(0, 0, Ω) × (cos Ωt, sin Ωt, 0)
= (0·0 − Ω·sin Ωt,
   Ω·cos Ωt − 0·0,
   0·sin Ωt − 0·cos Ωt)
= (−Ω sin Ωt, Ω cos Ωt, 0)

Identical. ∎  Same works for êy(t) = (−sin Ωt, cos Ωt, 0).

Step 3: The "Rotating Frame Derivative" Operator

Now consider any vector A expressed in the rotating frame:

A = Ax êx + Ay êy + Az êz

When we take the time derivative as seen from the inertial frame, we must use the product rule on each term, because both the components (Ax, Ay, Az) and the basis vectors (êx, êy, êz) can change with time:

(dA/dt)inertial = (dAx/dt) êx + Ax (dêx/dt) + (dAy/dt) êy + Ay (dêy/dt) + (dAz/dt) êz + Az (dêz/dt)

(each component contributes two terms via the product rule: one from the changing component, one from the changing basis vector)

Reminder: the product rule

d/dt [f(t)·g(t)] = (df/dt)·g + f·(dg/dt). Applied here:

d/dt [Ax êx] = (dAx/dt) êx + Ax (dêx/dt)

First piece: change in the component. Second piece: change in the basis vector (the axis spinning). In a fixed frame the second term vanishes because dê/dt = 0.

Now we can group these six terms into two sets. Collect all the "changing component" terms together, and all the "changing basis vector" terms together:

(dA/dt)inertial = [(dAx/dt) êx + (dAy/dt) êy + (dAz/dt) êz] + [Ax (dêx/dt) + Ay (dêy/dt) + Az (dêz/dt)]

The first bracket is the rate of change as measured by the rotating observer — who treats êx, êy, êz as fixed and only sees the components changing. This is (dA/dt)rotating.

The second bracket accounts for the spinning of the basis vectors. Using Equation (1) to replace each dê/dt with Ω × ê, it becomes Ax(Ω × êx) + Ay(Ω × êy) + Az(Ω × êz). Since the cross product is linear, we can factor out Ω × to get Ω × (Axêx + Ayêy + Azêz) = Ω × A.

Putting both pieces together, we arrive at the general vector identity:

The Key Identity
(dA/dt)inertial = (dA/dt)rotating + Ω × A (2)

"The rate of change seen from the stationary frame equals the rate of change seen from the rotating frame, plus a correction Ω × A for the rotation." The "rotating derivative" (d/dt)rotating isn't a different kind of calculus — it's simply the time derivative computed by someone who holds the rotating basis vectors fixed and only differentiates the components.

Show the full algebra for Equation (2)

Apply the product rule to each of the three terms in A = Axêx + Ayêy + Azêz:

d/dt [Ax êx] = (dAx/dt) êx + Ax (dêx/dt)
d/dt [Ay êy] = (dAy/dt) êy + Ay (dêy/dt)
d/dt [Az êz] = (dAz/dt) êz + Az (dêz/dt)

Sum all three lines and group:

(dA/dt)inertial = [(dAx/dt) êx + (dAy/dt) êy + (dAz/dt) êz]
                     + [Ax (dêx/dt) + Ay (dêy/dt) + Az (dêz/dt)]

First bracket = (dA/dt)rotating — the derivative as seen by someone riding with the frame who treats the basis vectors as constant.

Second bracket: substitute Eq (1), dêi/dt = Ω × êi:

Ax(Ω × êx) + Ay(Ω × êy) + Az(Ω × êz)

The cross product is linear (it distributes over addition), so we can factor:

= Ω × (Ax êx + Ay êy + Az êz) = Ω × A

Putting both brackets together: (dA/dt)inertial = (dA/dt)rotating + Ω × A. ∎

Equation (2) is completely general — it works for any vector A, provided the two frames share the same origin and differ only by rotation. (If the origin also translates, there's an additional term.) We will now apply it twice: once to get velocity, and once to get acceleration.

Step 4: Apply It to Position → Get Velocity

Equation (2) works for any vector A. If we choose A to be the position vector r, then dA/dt is just velocity. Writing vI for the inertial velocity and vR for the rotating-frame velocity, Equation (2) immediately gives:

vI = vR + Ω × r(3)

This tells us the inertial velocity equals the rotating-frame velocity plus the "dragging" contribution Ω × r from the frame's rotation.

Step 5: Apply It Again to Velocity → Get Acceleration

What we ultimately want are accelerations, because Newton's second law (F = ma) connects forces to acceleration. So we need to differentiate Equation (3) with respect to time, as seen from the inertial frame:

aI = (dvI/dt)inertial = (d/dt)inertial [vR + Ω × r]

We take each of these two terms separately.

First term: (d/dt)inertial of vR

vR is a vector, so we apply our key identity Equation (2) to it — just as we applied it to r in Step 4. With A = vR, the inertial derivative of velocity is just acceleration, so:

(dvR/dt)inertial = (dvR/dt)rotating + Ω × vR = aR + Ω × vR

where aR is the acceleration as measured in the rotating frame.

Second term: (d/dt)inertial of (Ω × r)

This requires more care. We use the product rule for cross products:

(d/dt)inertial (Ω × r) = (dΩ/dt) × r + Ω × (dr/dt)inertial

The first piece vanishes because we assume Ω is constant (Earth's rotation rate doesn't change on the timescales we care about). So we're left with:

= Ω × (dr/dt)inertial

Now, (dr/dt)inertial is just vI, which we already expressed in Equation (3): vI = vR + Ω × r. Substituting:

= Ω × (vR + Ω × r)

Distribute the cross product:

= Ω × vR + Ω × (Ω × r)

Combine both terms:

aI = [aR + Ω × vR] + [Ω × vR + Ω × (Ω × r)]

first term                               second term

Notice that Ω × vR appears twice — once from each term. Collecting:

aI = aR + 2Ω × vR + Ω × (Ω × r) (4)
Where does the factor of 2 come from?

The "2" arises because Ω × vR appears from two independent sources:

Source 1 (from the first term): When we apply Equation (2) to vR, the correction for spinning basis vectors gives Ω × vR. Physically: the rulers are spinning under the velocity vector.

Source 2 (from the second term): When we differentiate the Ω × r term and substitute vI = vR + Ω × r, the vR piece gives another Ω × vR. Physically: the "frame-dragging" velocity itself is changing as r changes.

An equivalent way to see it — think of Eq (2) as an operator: (d/dt)I = (d/dt)R + Ω×. Applying it twice to r:

aI = [(d/dt)R + Ω×] [(d/dt)R + Ω×] r

Expanding like (A+B)(A+B) = A² + AB + BA + B²:

= (d/dt)R² r + (d/dt)R(Ω×r) + Ω×(d/dt)Rr + Ω×(Ω×r)

The two middle terms each produce one Ω × vR, giving 2Ω × vR. The "2" is literally two applications of Ω× hitting vR once each.

Step 6: Rearrange for the Rotating Frame

Newton's second law F = maI holds in the inertial frame. Substituting Eq (4) and rearranging:

maR = F2mΩ × vRmΩ × (Ω × r)

From the rotating observer's perspective, there appear to be extra forces:

TermNameWhat it does
−2mΩ × vRCoriolis forceDeflects moving objects sideways (⊥ to velocity)
−mΩ × (Ω × r)Centrifugal forcePushes outward from the rotation axis
Why does Ω × (Ω × r) point "outward"?

The double cross product can be simplified using the vector triple product identity:

Ω × (Ω × r) = Ω(Ω · r) − Ω² r

The first term points along the rotation axis; the second points toward the origin. Together, the component perpendicular to the rotation axis gives an acceleration of magnitude Ω² r directed inward (toward the axis). Hence the centrifugal force −mΩ × (Ω × r) points outward, away from the axis, with magnitude mΩ² r.

Why do we often ignore the centrifugal term?

In geophysics, the centrifugal force is absorbed into "effective gravity". True gravity points toward the centre of the Earth; centrifugal force points outward. Their sum defines the effective g we measure with a plumb line. This is why Earth is an oblate spheroid. Once we redefine gravity this way, the centrifugal term disappears and only the Coriolis force remains.

Step 7: The Coriolis Force Itself

FCor = −2m Ω × vR (5)
Quick direction check (NH): Looking down onto the North Pole, Ω points out of the page. If v points east (right), then Ω × v points north (up the page) by the right-hand rule. So −2m(Ω × v) points south — which is to the right of eastward motion. ✓
Properties

1. Acts only on moving objects. If vR = 0, FCor = 0.

2. Perpendicular to velocity. The cross product gives a 90° deflection — it changes direction, not speed.

3. Northern Hemisphere: deflection to the right. Southern: to the left.

4. Scales with speed. Faster objects experience stronger deflection.

See It in Action

The animation below shows an object moving back and forth in a straight line in the inertial frame (left). The right panel shows the same object as seen from the rotating frame — the path curves, because the Coriolis effect is deflecting it sideways.

Inertial frame X Y x y Object moves in a straight line Rotating frame x y Same object — path curves!
Figure 4. An object oscillating along a straight line in the inertial frame (left) traces a curved path when viewed from the rotating frame (right). The curvature is the Coriolis effect in action.
Ω (out of page) v FCor Northern Hemisphere (looking down onto North Pole) → deflection to the right Ω (into page) v FCor Southern Hemisphere (looking down onto South Pole) → deflection to the left
Figure 5. Top-down views of each hemisphere. Ω points out of the page in the NH and into the page in the SH. The Coriolis force deflects rightward (NH) and leftward (SH).

Step 8: On a Spherical Earth — the Coriolis Parameter

On Earth, Ω points from South Pole to North Pole. At latitude φ, only the vertical component Ω sin φ matters for horizontal motions.

N S Ω Ω sin φ Ω cos φ Ω (local copy) φ surface
Figure 6. Decomposing Ω at latitude φ. The vertical component Ω sin φ (red) drives horizontal deflection. The horizontal component Ω cos φ (green) only matters for vertical motions.

We define the Coriolis parameter:

f = 2Ω sin φ (6)

where Ω = 7.292 × 10−5 rad/s. The horizontal Coriolis acceleration simplifies to:

aCor = −f × U

where U = (u, v) is the horizontal velocity (u eastward, v northward). We use U rather than v here to avoid confusion with the northward component v.

Derive the simplified form aCor = −f k̂ × U

At latitude φ, decompose Ω into local components (see Figure 6), using î = east, ĵ = north, = local vertical (upward):

Ω = Ω cos φ ĵ + Ω sin φ

For horizontal velocity U = uî + vĵ, the full cross product is:

Ω × U = (Ω cos φ ĵ + Ω sin φ ) × (uî + vĵ)

Expand the four cross products using î × ĵ = , ĵ × = î, × î = ĵ:

= Ω cos φ · u (ĵ × î) + Ω cos φ · v (ĵ × ĵ) + Ω sin φ · u ( × î) + Ω sin φ · v ( × ĵ)
= −Ω cos φ · u + 0 + Ω sin φ · u ĵ − Ω sin φ · v î

The green term is vertical — it doesn't deflect horizontally, so we drop it when considering only horizontal motions. The red terms are horizontal:

(Ω × U)horiz = Ω sin φ (u ĵ − v î) = Ω sin φ ( × U)

Therefore:

aCor,horiz = −2(Ω × U)horiz = −2Ω sin φ ( × U) = −f( × U)  ∎
Figure 7. The Coriolis parameter f = 2Ω sin φ plotted with latitude on the vertical axis. It is zero at the Equator, positive in the NH (deflection right), and negative in the SH (deflection left). At ±30° latitude, f = ±Ω.

Summary of the Derivation

The Logic Chain

1. Rotation is described by a vector θ along the rotation axis; infinitesimal rotations give δê = δθ × ê

2. Dividing by δt: dê/dt = Ω × ê

3. This gives the general identity: (d/dt)inertial = (d/dt)rotating + Ω ×

4. Apply once to r → relates inertial and rotating velocities

5. Apply again to v → two Ω × vR terms combine → factor of 2

6. Rearranging Newton's law: FCor = −2mΩ × vR

7. On a sphere at latitude φ, simplifies using f = 2Ω sin φ

The Coriolis force is not a "real" force — no physical interaction produces it. It is an artefact of describing motion from a rotating reference frame. But for anyone standing on the spinning Earth, it is as real as it gets: it steers ocean currents, shapes weather systems, and deflects every object that dares to move across the surface of our rotating planet.