Demos

O(2,2) on the Isotropic Grassmannian

O(2,2) on the Isotropic Grassmannian

WebGL

Limit sets of O(2,2) on the two ruling circles, in circle coordinates

O(4,2) on the Isotropic Grassmannian

O(4,2) on the Isotropic Grassmannian

WebGL

Limit sets of 154 monodromy groups acting on 2-planes in R⁴ʼ²

Borsuk–Ulam

Borsuk–Ulam

Three.js

Antipodal points sharing an image, found as a ribbon twists from a band into a Möbius strip

Brouwer Fixed Point

Brouwer Fixed Point

Three.js

The fixed point of a self-map of the disk, caught the moment its graph links with the diagonal

Disk Map Playground

Disk Map Playground

Three.js

Fold and stretch a map of the disk to itself; the fixed-point indices always sum to 1

The Hairy Ball Theorem

The Hairy Ball Theorem

Three.js

Combing a hairy ball: the zero that survives any combing, since the indices always sum to 2

Hypergeometric Atlas, Degree ≤ 6

Hypergeometric Atlas, Degree ≤ 6

WebGL

Every hypergeometric monodromy group of degree ≤ 6, from O(1) up to Sp(6,ℝ)

Hypergeometric Atlas, Degree 7

Hypergeometric Atlas, Degree 7

WebGL

509 hypergeometric monodromy groups of degree 7, with limit sets in RP⁶

Canonical Hyperbolic Coxeter Polygons

Canonical Hyperbolic Coxeter Polygons

Three.js

Hyperbolic Coxeter polygons built from their vertex orders alone, reflected to any depth

Starscapes: Integer Quadratics

Starscapes: Integer Quadratics

WebGL

Roots of integer quadratic polynomials scattered across the upper half-plane

Stable Norm: the Exclusion Picture

Stable Norm: the Exclusion Picture

Three.js, WebGL

Where the lower bound clears the modular torus's upper bound, excluding the minimum

Stable Norm up the Cusp

Stable Norm up the Cusp

Three.js

Stable-norm volume climbing monotonically out the cusp of moduli space

Stable Norm Volume over Moduli Space

Stable Norm Volume over Moduli Space

Three.js, WebGL

Stable-norm ball volume across moduli space: wells at the hexagonal tori, passes at the square

Stable Norm: Inner Bound

Stable Norm: Inner Bound

Three.js

The convex hull of boundary samples, giving a lower bound on the stable-norm ball

Stable Norm: Outer Bound

Stable Norm: Outer Bound

Three.js

Supporting lines at each rational corner, circumscribing the stable-norm ball

Stable Norm: Boundary Samples

Stable Norm: Boundary Samples

Three.js

Boundary samples ±(p,q)/ℓ of the stable-norm ball, filling in as the slope cutoff grows

The Markoff Cubic, Flat

The Markoff Cubic, Flat

Three.js

The Markoff cubic flattened, beside the stable-norm ball of each hyperbolic structure

Cayley Graphs in the Hyperbolic Plane

Three.js

Cayley graphs of 2D Coxeter groups drawn in H², with edges colored by generator

Cayley Graphs in Hyperbolic Space

Three.js

Cayley graphs of 3D Coxeter groups inside the ball model, with edges colored by generator

L-Surface Geodesics

Three.js

The L-shaped translation surface relaxed into a smooth embedded genus-2 surface

Deformations that Keep the Trefoil

Deformations that Keep the Trefoil

WebGL

Deformations of z² + w³ that leave the singularity link a trefoil

O(5) Hypergeometric Atlas

O(5) Hypergeometric Atlas

WebGL

All 77 degree-5 orthogonal monodromy groups, sorted thin, arithmetic, open, or finite

Figure-Eight Character Variety in SL(4,ℝ)

Figure-Eight Character Variety in SL(4,ℝ)

WebGL

The SL(4,ℝ) character variety of the figure-eight knot group, as a projected point cloud

Curated Moduli

Curated Moduli

Javascript

Eight vertex flat embedded tori whose moduli lie on the boundary of the fundamental domain.

Parametric Cubic Surface

Parametric Cubic Surface

Threejs

A parametric representation of a cubic surface derived from blowing up the plane at six points.

Parametric Cubic Surface (Stereo)

Parametric Cubic Surface (Stereo)

A parametric representation of a cubic surface derived from blowing up the plane at six points, rendered in stereographic projection from the double cover.

Happy Birthday Rich

Happy Birthday Rich

Threejs

Live version of birthday present for Rich Schwartz, on the occasion of his 60th brithday conference.

Seifert Surface Point Cloud

Seifert Surface Point Cloud

Preimages of the real line under complex polynomials with a singularity at 0.

Hyperbolic Voronoi: Expanding

Hyperbolic Voronoi: Expanding

WebGL

The Voronoi diagram of a collection of points as they move towards the ideal boundary of hyperbolic space.

Hyperbolic Voronoi: Poisson Process

Hyperbolic Voronoi: Poisson Process

WebGL

Voronoi tessellation of the hyperbolic plane for a Poisson process of points

SO(3,4) Representations of Δ(2,3,r)

SO(3,4) Representations of Δ(2,3,r)

Javascript

Searching numerically for representations of this triangle group.

M4 Geodesic Linkage

M4 Geodesic Linkage

Threejs

Physical motion as geodesic flow on the configuration sphere of the 4-rod linkage; release the ball with momentum to launch a trajectory.

M3 Geodesic Linkage

M3 Geodesic Linkage

Threejs

Unforced motion of the 3-rod linkage, pacing around its configuration circle as a geodesic of the kinetic-energy metric.

M3 Parametric Linkage

M3 Parametric Linkage

Threejs

The configuration space of the 3-rod linkage is a circle: drag a point around it and watch the chain flex in step.

M4 Parametric Linkage

M4 Parametric Linkage

Threejs

The configuration space of the 4-rod linkage is a sphere: drag a point across it and watch the chain flex in step.

Cubic Lines Live Featured

Cubic Lines Live

shader

Blowing up the plane at six points to give a cubic surface