Hopf Fibration: Linked Circles on Nested Tori 3D

A Blender-built gallery: fibres of S^3 as tubes over a plinth, the base sphere S^2 with a marker per fibre.

Presets

Playback

Highlighted fibres

Field of fibres

4D rotation and motion

Camera

Layers

Quality

Model check

The science

What you are looking at

The 3-sphere S^3 is the set of unit vectors (z1, z2) in C^2. The Hopf map h(z1,z2) = (2 z1 conj(z2), |z1|^2 - |z2|^2) sends every point of S^3 to a point of the ordinary sphere S^2. All points that land on the same base point form a fibre: the great circle (cos(theta/2) e^{i(xi+phi)}, sin(theta/2) e^{i xi}), xi from 0 to 2 pi. So S^3 is a family of circles, one over each point of S^2.

Why we see circles in 3D

We cannot draw 4D, so each point is projected stereographically from the pole x4 = 1: p = (x1, x2, x3) / (1 - x4). Stereographic projection maps circles on S^3 to circles (or a line) in R^3, so each fibre stays an exact circle. For the base colatitude theta the circle has radius 1/cos(theta/2). The fibres over one latitude fill a torus with major radius R = 1/cos(theta/2) and minor radius r = tan(theta/2), so R^2 - r^2 = 1 for every torus. On each torus the fibres are Villarceau circles (the circles cut by a plane that touches the torus twice). The fibre over the south pole theta = pi goes through the projection pole and becomes the straight z axis.

Linking

The Gauss linking integral Lk = (1/4 pi) oint oint (r1 - r2) . (dr1 x dr2) / |r1 - r2|^3 counts how often one closed curve winds around another. Any two distinct Hopf fibres have Lk = +1 (or -1 for the opposite orientation convention): this is the Hopf invariant of the map. The page evaluates the double integral numerically by the midpoint rule; the graph of the partial sums approaches an integer, and the sweep graph shows it does not change as the partner moves over the whole base sphere.

4D rotations

The two rotation sliders rotate S^3 inside the planes (x1,x4) and (x2,x3) before projecting. The rotation in (x2,x3) mixes z1 and z2 and slides the picture around the z axis; the rotation in (x1,x4) moves fibres through the projection pole, which is why they swell, pass through infinity and come back from the other side. Great circles stay great circles, so every fibre remains a circle and linking is preserved. Points very close to the pole are clipped to a distance of 40 so the picture stays finite.

Honest simplifications

Fibres are drawn as 96 (field) or 160 (highlighted pair) straight segments. Linking numbers use 70 to 220 segments per curve; the unrotated curves are used for the numbers, so the displayed linking number does not depend on the 4D sliders. The tori are drawn as wire grids of the exact parametrisation. Colours encode the base longitude and latitude only to help follow single fibres.

Three independent checks on this page

  • Numerical Gauss integral over three different fibre pairs gives the same integer.
  • Three-point circumcircle fit: all 360 points of a projected fibre lie on one circle whose radius equals 1/cos(theta/2).
  • The Hopf map evaluated along a fibre is constant to machine precision, and the sampled torus satisfies R^2 - r^2 = 1.

What the 3D scene adds

The gallery was modelled in Blender: a stone plinth with a turntable that carries the fibres, the base-space globe with its brass meridian ring, the lamps and the wall. Fibres are tubes generated from the same formulas as the 2D page; the globe carries a marker for each fibre at its base point, so the point on the globe and the circle in space always match.

Loading model...
Loading Blender model...
Torus radii R and r versus base latitude
Gauss linking sum along the gold fibre
Distance of both fibres from the origin
Linking number vs partner latitude
Made with 🟠 Blender · Three.js