Demos

hopf torus list

hopf torus list

threejs

Gallery of flat tori realized as Hopf surfaces in the 3-sphere, one for each lattice type

hyerbolic embedding flows

hyerbolic embedding flows

threejs

Comparison of optimization methods for embedding a hyperbolic disk in 3-space

weierstrass hex

weierstrass hex

threejs

Hexagonal-lattice elliptic curve embeded in R4 by the Weierstrass functions.

weierstrass square

weierstrass square

threejs

Square-lattice elliptic curve embedded in R4 via the Weierstrass functions.

hex curve

hex curve

threejs

An elliptic curve over a finite field embedded on the characteristic zero curve with hexagonal symmetry.

hex curve

hex curve

threejs

An elliptic curve over a finite field embedded on the characteristic zero curve with square symmetry.

elliptic 11 4

elliptic 11 4

threejs

The elliptic curve $y^2=x^3+x+1$ mod 5, over the field with 625 elements.

elliptic 11 5

elliptic 11 5

threejs

The elliptic curve $y^2=x^3+x+1$ mod 5, over the field with 3125 elements.

elliptic 3 4

elliptic 3 4

threejs

The elliptic curve $y^2=x^3+3$ mod 7, over the field with 2401 elements, embedded in a characteristic zero curve with hexagonal symmetry.

elliptic 3 3

elliptic 3 3

threejs

The elliptic curve $y^2=x^3+3$ mod 7, over the field with 343 elements, embedded in a characteristic zero curve with hexagonal symmetry.

elliptic 4 3

elliptic 4 3

threejs

The elliptic curve $y^2=x^3+3x$ mod 5, over the field with 625 elements, embedded in a characteristic zero curve with square symmetry.

elliptic 4 4

elliptic 4 4

threejs

The elliptic curve $y^2=x^3+3x$ mod 5, over the field with 3125 elements, embedded in a characteristic zero curve with square symmetry.

elliptic 7 2

elliptic 7 2

threejs

The elliptic curve $y^2=x^3+5x+7$ mod 11, over the field with 121 elements.

elliptic 7 3

elliptic 7 3

threejs

The elliptic curve $y^2=x^3+5x+7$ mod 11, over the field with 1331 elements.

elliptic 8 2

elliptic 8 2

threejs

The elliptic curve $y^2=x^3+x+3$ mod 11, over the field with 121 elements, embedded in a characteristic zero rectangular torus.

elliptic 8 3

elliptic 8 3

threejs

The elliptic curve $y^2=x^3+x+3$ mod 11, over the field with 1331 elements, embedded in a characteristic zero rectangular torus.

pathtracer touch controls

pathtracer touch controls

pathtracer

Path-traced Menger sponge in a Cornell box with mobile touch controls

Brouwer Fixed Point Test

Brouwer Fixed Point Test

threejs

Interactive linking-number proof of the Brouwer fixed point theorem

black hole embedding Featured

black hole embedding

threejs

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

rhombic tori in S3

rhombic tori in S3

threejs

Family of rhombic flat tori isometrically embedded in the 3-sphere, parameterized by vertex angle

rich's minimal paper torus

rich's minimal paper torus

threejs

Rich Schwartz's eight-vertex paper torus: a flat polyhedral torus embedded in 3-space

hex tori in R3

hex tori in R3

threejs

Attempting to embed the flat hexagonal torus in $\mathbb{R}^3$ — impossible smoothly, but revealing to try

hex tori in S3

hex tori in S3

threejs

Isometric embedding of the flat hexagonal torus in the 3-sphere with adjustable parameters

charged bunny

charged bunny

threejs

Spring and charge dynamics reshaping the Stanford bunny mesh

square tori in R3

square tori in R3

threejs

Attempting to embed the flat square torus in $\mathbb{R}^3$ — a necessarily imperfect compromise

square tori in S^3

square tori in S^3

threejs

Square tori of varying size in the 3-sphere — only one embeds isometrically as the Clifford torus

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

airplug bottomless

airplug bottomless

threejs

Generative album artwork for Airplug's Bottomless

bottomless: animation

bottomless: animation

threejs

Real-time live visuals for Airplug's Bottomless performance

bottomless: animation II

bottomless: animation II

threejs

Second set of real-time live visuals for Airplug's Bottomless performance

hyperbolic strip embedding

hyperbolic strip embedding

threejs

Strip of the hyperbolic plane isometrically embedded in 3-space, ruffling from negative curvature

hyperbolic cylinder embedding

hyperbolic cylinder embedding

threejs

Hyperbolic cylinder isometrically embedded in Euclidean space, with OBJ export for 3D printing

embedding test exponential curtain

embedding test exponential curtain

threejs

Negatively curved curtain ruffling under gravity as excess area forces buckling

embedding test hyperbolic curtain

embedding test hyperbolic curtain

threejs

Strip of the hyperbolic plane draped as a curtain, buckling from its negative curvature

embedding test euclidean curtain

embedding test euclidean curtain

threejs

Flat curtain hanging under gravity, finding its natural shape in 3-space

embedding test hyperbolic cylinder

embedding test hyperbolic cylinder

threejs

Hyperbolic cylinder embedded in Euclidean space, ruffling at its negatively curved edges

embedding test hyperbolic strip

embedding test hyperbolic strip

threejs

Rectangular strip of the hyperbolic plane in 3-space, with geodesic spreading visible as buckling

embedding test hyperbolic disk

embedding test hyperbolic disk

threejs

Disk of the hyperbolic plane forced into Euclidean space, showing characteristic saddle ruffling

euclidean cylinder embedding

euclidean cylinder embedding

threejs

Flat cylinder finding its round cross-section through isometric embedding in 3-space

spring charge square

spring charge square

threejs

Flat square mesh finding equilibrium under competing spring and charge forces

spring square

spring square

threejs

Flat square mesh relaxed by springs alone, without charges to prevent self-intersection

geodesic board: eggcarton

geodesic board: eggcarton

threejs

Parallel geodesics on an egg-carton surface, alternately focused and scattered by changing curvature

geodesic board: gaussian I

geodesic board: gaussian I

threejs

Geodesics focused by a single Gaussian bump, illustrating the effect of positive curvature

geodesic board: gaussian II

geodesic board: gaussian II

threejs

Geodesics strongly focused by a tall Gaussian bump, crossing sooner from higher curvature

geodesic board: gaussian III

geodesic board: gaussian III

threejs

Geodesics asymmetrically deflected by an off-center Gaussian bump

geodesic board: gaussian IV

geodesic board: gaussian IV

threejs

Geodesics doubly lensed by two Gaussian bumps on a surface

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

geodesic board: waves

geodesic board: waves

threejs

Parallel geodesics on a sinusoidal wave surface, bunching and spreading with the curvature

black holes octahedral geodesics

black holes octahedral geodesics

threejs

Light rays threading between six black holes at octahedral vertices, producing symmetric scattering patterns

black hole glass ball

black hole glass ball

threejs

Planar fan of light rays bending in a variable-index-of-refraction medium that is mathematically identical to a charged black hole, this time in a sphere.

black hole glass block

black hole glass block

threejs

Planar fan of light rays bending in a variable-index-of-refraction medium that is mathematically identical to a charged black hole.

black hole glass block binary

black hole glass block binary

threejs

Light rays scattered between two black holes with adjustable mass ratio, revealing chaotic capture boundaries, shown in equivalent classical optical system.

lightcone

lightcone

threejs

Light cone surface warped by two charged black holes in a Majumdar-Papapetrou spacetime

lightcone bothsides

lightcone bothsides

threejs

Light cones on opposite sides of a black hole pair, highlighting asymmetric causal distortion

lightcone double

lightcone double

threejs

Two light cones in a binary black hole spacetime, showing how causal structure varies with position

lightcone single

lightcone single

threejs

A single light cone tilting toward a charged black hole

lightcone quadruple

lightcone quadruple

threejs

Four light cones mapping the tilt of causal structure across a two-black-hole spacetime

lightcone triple

lightcone triple

threejs

A light cone between four black holes, revealing the varying causal geometry

black hole binary geodesics

black hole binary geodesics

threejs

Light rays scattered by three black holes in a triangular arrangement

black hole binary geodesics 2

black hole binary geodesics 2

threejs

Near-field scattering of light rays by two black holes, with a cutoff radius isolating the interaction

black hole geodesic project

black hole geodesic project

threejs

Null geodesics near a black hole in full spacetime and spatial views.

black hole vision

black hole vision

threejs

Light rays near a charged black hole, colored by which hit the red object in the background.

black hole vision binary

black hole vision binary

threejs

Light rays threading between two black holes, colored by which reach the object in the background.

black hole vision binary

black hole vision binary

threejs

Light rays threading between two black holes, colored by which reach the object in the background.

black hole geodesic vision

black hole geodesic vision

threejs

Null geodesics near a black hole shown in spacetime

black hole binary horizon

black hole binary horizon

threejs

Looking out from between two charged black holes, gravitational lensing distorting each horizon

mp black hole binary horizon 2

mp black hole binary horizon 2

threejs

Interior view of a multi-black-hole spacetime with overlapping gravitational lensing from colored horizons

mp black hole octahedron horizon

mp black hole octahedron horizon

threejs

View from inside a spacetime with six black holes at octahedral vertices, each horizon distinctly colored

knot dance with twistbar

knot dance with twistbar

threejs

Knot dance animation with a twist bar tracking writhe through each move

knot dance

knot dance

threejs

Animated 3D knot diagrams for Danceability of Twisted Virtual Knots

knot dance: design

knot dance: design

threejs

Design tool for choreographing the animated knot dance sequences