Demos

Cubic Lines Live Featured

Cubic Lines Live

shader

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

black hole embedding Featured

black hole embedding

threejs

Isometric embedding of the optical geometry of a Schwarzschild black hole into $\mathbb{R}^3$

hyperbolic disk embedding Featured

hyperbolic disk embedding

threejs

Isometric embedding of a hyperbolic disk in Euclidean space with adjustable mesh parameters

hyperbolic disk embedding gradient descent Featured

hyperbolic disk embedding gradient descent

threejs

Hyperbolic disk embedding via gradient descent with switchable optimization methods

geodesic board: nyc II Featured

geodesic board: nyc II

threejs

Interactive geodesic board with six surface presets showing how curvature governs geodesic deviation

geodesic board: nyc I Featured

geodesic board: nyc I

threejs

Interactive geodesic board: drag to aim geodesics across interchangeable curved surfaces

Torus Mcg Featured

Torus Mcg

threejs

Mapping class group of the torus acting on texture coordinates via Dehn twists and the Anosov map

black hole loop Featured

black hole loop

threejs

Light ray tuned to orbit a Schwarzschild black hole one or more times before escaping

Pathtrace Sim Single Featured

Pathtrace Sim Single

pathtracer

Pedagogical GPU pathtracer: single ray bounce per pixel

Gradient Descent Domain Featured

Gradient Descent Domain

threejs

Gradient vector field over the domain of a surface, revealing critical points and basins of attraction

Code: Wormhole Featured

Code: Wormhole

riemannian raytracer

Raymarched traversable connect sum "wormhole" connecting two SF and Paris

Mercator Featured

Mercator

threejs

Mercator projection: conformal map from sphere to plane preserving compass bearings

Double Pendulum Featured

Double Pendulum

threejs

Double pendulum exhibiting chaotic sensitivity to initial conditions

Geodesic Billiards Featured

Geodesic Billiards

threejs

Billiard trajectories following geodesics on a curved surface, reflecting off boundaries

Quantum Elliptical Billiards Featured

Quantum Elliptical Billiards

threejs

Quantum wave packet in an elliptical billiard domain, developing self-interference patterns

The Double Slit Experiment Featured

The Double Slit Experiment

threejs

Double slit experiment: quantum wave packet producing interference fringes

Iterated Integral Cartesian Featured

Iterated Integral Cartesian

threejs

Fubini's theorem: double integral evaluated as iterated 1D integrals in Cartesian coordinates

Boys Surface Featured

Boys Surface

threejs

Boy's surface: an immersion of the real projective plane in $\mathbb{R}^3$ without singular points

Partial Derivatives Featured

Partial Derivatives

threejs

Partial derivatives as slopes of cross-sectional curves on a surface $z = f(x,y)

Contour Slicing Featured

Contour Slicing

threejs

Horizontal slicing plane intersecting a surface to reveal its level curves

Orbital Density Featured

Orbital Density

raymarcher

Volumetric rendering of hydrogen orbital densities $|\psi_{n,\ell,m}|^2$ via GPU ray marching

Sphere and Cylinder Featured

Sphere and Cylinder

threejs

Archimedes' theorem that horizontal slices of a sphere and its circumscribing cylinder have equal area

Spherical Harmonics Featured

Spherical Harmonics

threejs

Spherical harmonics $Y_{\ell m}$ displayed as vibrating spheres, modulus plots, and polar plots

Fubini Featured

Fubini

threejs

Interactive visualization of Fubini's theorem, showing iterated double integrals as cross-sectional slices

Code: Connect Sum Torus Euclidean Featured

Code: Connect Sum Torus Euclidean

riemannian raytracer

Inside a connect sum of tori with Euclidean geometry, rendered by ray marching

SpringCloth Featured

SpringCloth

threejs

Cloth simulation via a grid of spring-connected vertices with gravity and drag

Knot Complements Featured

Knot Complements

threejs

Boundary torus of a tubular neighborhood of torus knots in $S^3$, under stereographic projection

Dynamics & Strange Attractors Featured

Dynamics & Strange Attractors

threejs

Six strange attractors (Aizawa, Chen, Dadras, Rössler, Sprott, Thomas) rendered as trajectories in three-dimensional space

Curvature of Surfaces Featured

Curvature of Surfaces

threejs

Gaussian and mean curvature on surfaces, color-coded to show elliptic, hyperbolic, and parabolic regions

Wave Eqn Flash Featured

Wave Eqn Flash

threejs

2D wave equation with a localized initial pulse, demonstrating the failure of Huygens' principle in two dimensions

Wave Eqn Refraction Featured

Wave Eqn Refraction

threejs

2D wave equation with spatially varying speed, demonstrating refraction and Snell's law

Complex Zn Featured

Complex Zn

threejs

Graphs of complex power functions $z^n$ projected from $\mathbb{C}^2$ to $\mathbb{R}^3$ with domain coloring

Nil Geodesics Earth Animate Featured

Nil Geodesics Earth Animate

threejs

Expanding geodesic spheres in Nil geometry, animated to show increasing distortion at larger radii

Sol Geodesic Spheres Featured

Sol Geodesic Spheres

threejs

Geodesic spheres in Sol geometry, stretched by the exponential expansion and contraction

Fourier Series Featured

Fourier Series

threejs

Fourier series partial sums converging to target functions, showing trigonometric decomposition

Hopf Complement Featured

Hopf Complement

threejs

Geodesics in the complement of a Hopf fiber in $S^3$, stereographically projected to $\mathbb{R}^3

Punctured Disk Geometrization Featured

Punctured Disk Geometrization

threejs

Hyperbolic metric on a punctured disk, showing the cusp that forms at the removed point

Code: 3torus Double Featured

Code: 3torus Double

riemannian raytracer

Inside a 3-torus manifold double connected by a wormhole, with earth and moon orbiting through the periodic space

Code: Schwarzschild Accretion Disk Featured

Code: Schwarzschild Accretion Disk

relativistic pathtracer

Schwarzschild black hole with a luminous accretion disk, rendered by geodesic ray tracing

Code: Air Lens Featured

Code: Air Lens

riemannian raytracer

Light bending through a varying refractive index gradient in Euclidean space, producing a lens effect

Square Orbit Featured

Square Orbit

threejs

Nested tube-shaped orbits interpolating between circles and squares

Code: Schwarzschild Earth Featured

Code: Schwarzschild Earth

relativistic pathtracer

Gravitational lensing of an earth-textured sphere by a Schwarzschild black hole, producing multiple images

Code: Sol Hyperbolic Planes Featured

Code: Sol Hyperbolic Planes

riemannian raytracer

Totally geodesic hyperbolic planes in Sol, forming two orthogonal foliations

Code: Nil Earth Moon Featured

Code: Nil Earth Moon

riemannian raytracer

Earth and moon in Nil geometry, with viewpoint-dependent distortion from non-commutative translations

Code: Hyp Coxeter Dodecahedron Featured

Code: Hyp Coxeter Dodecahedron

riemannian raytracer

Coxeter group tiling of $\mathbb{H}^3$ by right-angled regular dodecahedra

Code: Hyp Coxeter Cubes Featured

Code: Hyp Coxeter Cubes

riemannian raytracer

Coxeter group tiling of $\mathbb{H}^3$ by right-angled hyperbolic cubes

Code: S2e Earth S2xs1 Featured

Code: S2e Earth S2xs1

riemannian raytracer

Earth sphere in $S^2 \times S^1$, the compact product of a 2-sphere with a circle

Code: Sph Earth Featured

Code: Sph Earth

riemannian raytracer

Earth-textured sphere in $S^3$, with the antipodal image visible from behind

Hyp Lattice Featured

Hyp Lattice

riemannian raytracer

Horosphere lattice in hyperbolic 3-space with cusp acceleration for efficient raymarching

Nil Lattice Fast Featured

Nil Lattice Fast

riemannian raytracer

Performance-optimized Nil geometry lattice using approximate distance functions