← All blog posts

Geometry · App guide

Going straight in curved space

How can you keep an arrow pointing straight, carry it around a loop, and return with it pointing somewhere else? Curved Space lets you try this, then build geodesics and compare their motion with a cloud falling under gravity.

Open Curved Space ↗

Open the app beside this guide. The four tabs select the experiments. Drag to orbit and scroll to zoom; the camera buttons sit at the lower right of the 3D view. The speed sliders change playback, not the geometry.

01Carry an arrow around a loop

In Parallel Transport, keep the sphere selected and press Run closed loop. The gold arrow stays tangent to the surface and undergoes no local turning within that plane. At the end, compare it with the pale arrow marking its original direction. The difference is holonomy.

A rectangular loop encloses a red patch on the sphere and map. Signed area and final deflection both read 1.36.
The default rectangle encloses area 1.36 on the unit sphere. The arrow returns rotated by 1.36 radians.

This detects curvature intrinsically: you need only compare directions at the same starting point. For a loop bounding a patch, the angle is its integrated Gaussian curvature:

θ = ∫patch K dA   (mod 2π).

On this unit sphere, K = 1, so angle in radians and area have the same numerical value. Resize the rectangle or select Circle; a larger enclosed patch gives more rotation. Reversing the traversal reverses the sign. You can also steer your own path with WASD.

Now reset, select Top View, and run again. The camera’s orientation is itself parallel transported. The gold arrow keeps pointing up while the coordinate grid turns beneath it. Only on returning does the mismatch with the original direction become visible.

Before the loopTop View at the starting point, with the gold arrow pointing up.
Back at the same pointAfter the loop, the gold arrow still points up but the grid and pale original arrow have turned relative to the camera.
The transported camera makes “no local turning” visible. The pale reference arrow exposes the rotation accumulated around the loop.

The flat map reports direction relative to local east and north; that coordinate angle can change even along a geodesic. Polar view gives a clearer chart near a pole. Enable Tangent plane to see the principal curvature directions: their curvatures multiply to K. On the Torus, K is positive outside and negative inside, so the readout uses ∫K dA rather than area alone.

02Build a geodesic

Select Geodesic and leave progression on Manual. Step through Move, Resolve, and Project. After moving forward, the old velocity need not lie in the new tangent plane. The construction splits it into a tangent part and a normal part, removes the normal part, and restores unit speed.

Side view of the gold old velocity above the tangent plane, its green tangent projection, and its red normal component. The inset shows the same decomposition.
Select First person, then Side view to inspect the projection. The blue n in the diagram is the surface normal; the red component is what gets removed.

Repeat this: move in the velocity’s direction, then parallel transport that velocity. In the small-step limit, it defines a geodesic:

∇v v = 0.

The displayed projection is a finite-step approximation. Reduce Step size to improve it, or select Automatic to watch the sequence repeat. In Top View the velocity keeps its direction relative to the transported camera. In First person you travel straight ahead, even as the coordinate grid changes direction.

03Compare two straight paths

Select Geodesic deviation. The travelers start side by side with parallel velocities. Set a small Initial separation, choose the Launch direction, then enable Deviation construction. Advance through Move and Transport v₁ → v₂.

The separation ξ points from the yellow traveler to the teal one: old ξ before the step, new ξ after it. The shaded strip lies between the two paths. To compare velocities at different points, the app transports the teal velocity to the yellow point first.

Their difference, Δv, approximates ∇vξ. Take another step: the app carries the previous difference forward and draws the extra piece δv. It is this change in the difference that approximates (∇v∇vξ) Δt. The transported vectors now share a tangent plane, so subtracting them makes sense.

Compare velocities at one pointTeal velocity transported to the yellow traveler, with the previous velocity difference and its extra change. Old and new separation arrows bound a red strip.
Then watch the paths convergeTwo initially parallel geodesics approach each other as they travel north from the equator on the sphere.
Left: the second construction step. Red shading marks positive curvature. Right: continuous motion with a larger initial gap, seen from outside.

For unit-speed geodesics and an infinitesimal transverse separation, the equation is

∇v∇v ξ = −Kξ.

Turn construction off, restart, and launch the continuous animation. On the unit sphere, the signed transverse separation obeys j̈ = −j: the travelers approach as though connected by a harmonic spring. There is no force between them. Each follows its own geodesic. The Jacobi prediction compares this small-separation equation with the actual finite gap; on the torus, a region of negative K instead tends to separate nearby paths.

For the covariant equation, see David Tong’s discussion of geodesic deviation.

04Newtonian Tidal Forces Hint at GR

There is something curious hidden in Newton’s gravity. To find it, let a spherical cloud of test particles fall toward a distant mass. Start the particles at rest relative to one another, and let each respond only to the mass below.

Select 3D Tidal forces, choose two Concentric shells, and press Start time. We fall with the cloud’s center as the spherical coordinate grid rises past us. The cloud stretches vertically and squeezes inward from both sides. The red arrow follows the stretching; the two blue arrows follow the compression. Drag the Time slider to examine the motion.

Released from rest · t = 0 sTwo concentric spherical shells of test masses at rest in the freely falling frame.
Stretched and squeezed · t = 40 sThe same shells at the same camera scale, elongated vertically and compressed horizontally after forty seconds of free fall.
The same cloud at release and after 40 seconds, viewed at the same scale. The three separation arrows follow the stretching and squeezing.

The distortion is easy to understand. The nearer particles feel a stronger pull, while particles side by side accelerate toward the same center. But follow the volume of a tiny shell at the start of the fall, and something more interesting appears: the stretching and squeezing balance exactly.

Writing μ = GM/r³, Newton’s law gives relative accelerations +2μξ radially and −μξ in each transverse direction. Their contributions to the initial fractional volume acceleration add up to

(V̈ / V)release = 2μ − μ − μ = 0.

The particles start with no relative motion, so V̇(0) = 0 as well. The shell’s volume is preserved through second order in time. Its shape begins to change at order t², yet its volume has no change at that order.

We could turn this observation around. Suppose we knew only that the attraction was spherically symmetric and demanded this volume balance at every radius. In three spatial dimensions, the inward acceleration f(r) would have to satisfy

f′(r) + 2f(r)/r = 0.

This says that r²f is constant, so f(r) = C/r². We recover the inverse-square law. Among nonzero spherically symmetric attractions, it is the unique radial dependence with this property. We have found another way to characterize Newton’s gravitational law: by what it does to a small falling volume.

Now recall the neighboring geodesics. Curvature also made them converge or separate. Differential geometry goes further: it has a result about exactly the volume experiment we have just performed.

The Ricci tensor is a trace of the full curvature tensor. Along a chosen observer’s motion, it sums the curvature contributions to geodesic focusing in the three transverse spatial directions. Release an infinitesimal ball of freely falling particles, initially at rest relative to one another. If u is the central observer’s four-velocity, then

(V̈ / V)release = −Ric(u, u),

with time measured by that observer’s own clock. The geometry gives us the same kind of volume test. Ric(u, u) determines the initial fractional volume acceleration; positive values mean net focusing. Here the curvature belongs to spacetime.

Newton’s volume balance now has a geometric expression: Ric(u, u) = 0. Require it for every freely falling observer, at every point in vacuum, and the Ricci tensor itself must vanish. A study of Newtonian tides has led us to a natural way to formulate gravity in differential geometry—and to Einstein’s gravitational field equations in vacuum:

Ric = 0

The curvature can still stretch and squeeze the cloud. The equation requires those effects to balance in the initial volume change. Newton’s inverse-square law had already given us the clue.

Including matter and energy

To complete the theory, we still need to determine how matter and energy enter the volume law. With Ricci on the left, Einstein’s equation reads

Rμν = (8πG/c⁴)(Tμν − ½T gμν).

Rμν is the Ricci tensor, Tμν describes energy, momentum, and stress, and T = gαβTαβ is its trace. In vacuum Tμν = 0, and this reduces to Ric = 0.

Further reading: Baez and Bunn on volume changes and the inverse-square law; Baez on Ricci curvature and the falling-ball test; Tong on Einstein’s equations.

Try it in Curved Space ↗

Comments and questions

Share a thought about this post or ask a question.