Flowing lattices, two views
A planar lattice carried by geodesic and horocyclic flows, shown together in the plane and the upper half-plane and driven by one shared computation.
A lattice in the plane can be pushed around by the geodesic and horocyclic flows. As it moves, its shortest vectors trace out a path, and the way that path returns close to where it started encodes the continued fraction of the lattice’s shape.
Below, the same flowing lattice is shown three ways at once. The left panel is the planar picture; the right is the upper half-plane model, where the shortest vector becomes a moving point among the images of the modular tiling. The bottom is the stretch and stack unit cell. All three are driven by a single shared computation, so they stay in step.
The continued fraction … is the flow’s future.
Each view on its own
The planar flow alone, with its scale and speed exposed:
And the upper half-plane view:
Each shader is also available as a standalone page with its full source: see 2dFlow and 2dHalfplane.