The idea
On a flat sheet, "keep the arrow pointing the same way" is unambiguous. On a curved surface it is not, because there is no global direction to hold. The best you can do is the local rule: as you move, never turn the arrow relative to the surface you are standing on. That rule is parallel transport, and it has a surprising consequence. Follow it around a closed loop and the arrow returns pointing somewhere else. The angle it has turned through is the holonomy of the loop.
The Gauss–Bonnet theorem says exactly how much. The holonomy equals the total curvature enclosed by the loop, and on a unit sphere the curvature is 1 everywhere, so the holonomy is just the enclosed area — the solid angle. The default scenario walks the textbook case, a triangle made of three quarter-circles meeting at right angles. It encloses an eighth of the sphere, a solid angle of π/2, and the arrow comes back rotated by exactly 90°. The panel does the arithmetic on screen so the theorem and the render can be compared.
The same rule shows up far from geometry. A Foucault pendulum's swing plane is parallel-transported around a circle of latitude by the Earth's rotation, and its daily precession is the holonomy of that circle. A quantum state carried slowly around a loop of parameters picks up a Berry phase equal to half the solid angle enclosed on the Bloch sphere. And in general relativity, the failure of a vector to return to itself after a loop is the definition of spacetime curvature. One rule, three fields.
What to look for
- The green arrow is the start and the red arrow is the return, drawn at the same point. The gap between them is the holonomy; the fan of breadcrumb arrows along the path shows it accumulating.
- Watch the arrow on each straight leg of the triangle. Along a great circle, parallel transport keeps the arrow at a fixed angle to the path, so it never seems to turn — and yet it comes back turned. The rotation lives at the whole loop, not at any one point along it.
- In 'foucault', the loop is a circle of latitude and the holonomy is 2π times the sine of the latitude, which is the per-day precession of the pendulum. At the pole it is a full turn; at the equator it is nothing.
- 'flat-plane' is the control. The same rule on a flat surface returns the arrow exactly, and the panel reports a holonomy of zero.
Getting it right
- Nothing is turning the arrow. The rule is precisely "do not turn," and the rotation still appears. It is a property of the surface, not of the walker.
- The holonomy depends on the loop's enclosed area, not on its shape or on where you start. Two different loops around the same octant give the same 90°.
- Curvature is not the same as bending in space. A cylinder is bent but has zero curvature, and parallel transport around any loop on it returns the arrow unchanged. A sphere cannot be flattened without stretching, and that is what the holonomy measures.
- The Foucault precession is often explained as "the Earth turning under the pendulum." That is correct at the pole and misleading elsewhere; the holonomy of the latitude circle is the version that gives the right answer at every latitude.
Turn the knobs
scenariosets the loop: 'sphere-triangle' for the 90° proof, 'foucault' for a latitude circle, 'berry' for a loop on the Bloch sphere, 'flat-plane' for the zero-holonomy control.latitude(degrees) moves the foucault and berry loops toward or away from the pole. Push it toward 90° and the holonomy climbs toward a full turn; pull it to 0° and it vanishes.- Read the panel after each change: it reports the holonomy, the enclosed solid angle, and whether Gauss–Bonnet balances. It always does; the point is to see why.