Skip to content
Black Holes, drawn

galleryEvery picture, with its credit line

Everything below was computed for this site: the photographs by a ray tracer in numpy, the diagrams from the equations they illustrate. All of it is CC BY 4.0. Use it anywhere, with the line “Nan · hongdam.net · CC BY 4.0” and a link to this page. That is the whole ask.

Ray-traced

A thin glowing disk around a black hole, seen nearly edge-on: the far side of the disk appears as an arch over the top and a band under the bottom, and a thin bright ring hugs the black shadow.
The classic view: a thin disk at 80°, Doppler-shifted, with the sky lensed behind it · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The disk seen nearly face-on: a bright ring of light around a black circle.
From 12° off the axis · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The disk at 55 degrees: an oval with the far side lifted into an arch.
From 55° · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The disk nearly edge-on: a flat band with a full arch over and under the shadow.
From 84° · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The same disk with light going straight: a flat ellipse, half of it hidden behind the black sphere, no ring.
Light going straight: no lensing, half the disk hidden · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The same disk with light bent: the hidden half reappears as an arch and a ring surrounds the shadow.
Light bent: the far side over the top, the ring · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The disk without the Doppler shift: both sides the same brightness.
Without the Doppler shift: both sides alike · JPG · computed here · Nan · hongdam.net · CC BY 4.0
A close view of the photon ring: a thin bright circle on the edge of the shadow, the disk behind.
The photon ring, close · JPG · computed here · Nan · hongdam.net · CC BY 4.0
A star field seen through a black hole: stars smeared into arcs around a circular shadow, a bright Einstein ring.
A star field, lensed · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The same star field with light going straight: only a black circle blocks the stars.
The same star field, not lensed · JPG · computed here · Nan · hongdam.net · CC BY 4.0
Black ink dots on white paper, denser where the disk is brighter: the disk, its arch over the top, its band underneath, and the thin ring.
A recomputation of Luminet's 1979 picture, drawn as ink dots · PNG · computed here · Nan · hongdam.net · CC BY 4.0
A wide dark view of the disk from above.
Wide, from 70° · JPG · computed here · Nan · hongdam.net · CC BY 4.0
The disk almost exactly edge-on.
Nearly edge-on · JPG · computed here · Nan · hongdam.net · CC BY 4.0
Stars lensed into arcs around the shadow.
Lensed stars · JPG · computed here · Nan · hongdam.net · CC BY 4.0

Diagrams

Light past a black hole, by impact parameter
Light past a black hole, by impact parameter · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Deflection angle against impact parameter
Deflection angle against impact parameter · SVG · computed here · Nan · hongdam.net · CC BY 4.0
One dot, one ray
One dot, one ray · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Flamm's paraboloid
Flamm's paraboloid · SVG · computed here · Nan · hongdam.net · CC BY 4.0
The effective potential
The effective potential · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Three orbits
Three orbits · SVG · computed here · Nan · hongdam.net · CC BY 4.0
A Kerr black hole in cross-section
A Kerr black hole in cross-section · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Shadow outlines by spin
Shadow outlines by spin · SVG · computed here · Nan · hongdam.net · CC BY 4.0
The photon ring's subrings
The photon ring's subrings · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Penrose diagrams
Penrose diagrams · SVG · computed here · Nan · hongdam.net · CC BY 4.0
The ladder of masses
The ladder of masses · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Hawking temperature and lifetime
Hawking temperature and lifetime · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Tidal stretch at the horizon
Tidal stretch at the horizon · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Two black holes against the Solar System
Two black holes against the Solar System · SVG · computed here · Nan · hongdam.net · CC BY 4.0
A gravitational-wave chirp
A gravitational-wave chirp · SVG · computed here · Nan · hongdam.net · CC BY 4.0
The eras of the universe
The eras of the universe · SVG · computed here · Nan · hongdam.net · CC BY 4.0
Rahu and Ketu, the lunar nodes
Rahu and Ketu, the lunar nodes · SVG · computed here · Nan · hongdam.net · CC BY 4.0

Share cards

One per page, 1200 × 630, the credit line drawn on and in the file. These are what a link to a page unfurls into.

Share card: the front page
the front page · JPG
Share card: Draw
Draw · JPG
Share card: Past
Past · JPG
Share card: Legends
Legends · JPG
Share card: Quiz
Quiz · JPG
Share card: Numbers
Numbers · JPG

How they were made

The ray tracer is 250 lines of Python with numpy, in tools/render.py on GitHub: a Schwarzschild metric, a thin Novikov–Thorne disk, RK4 steps in φ, Luminet's redshift formula, a procedural star sky, and a tone curve. The diagrams are tools/figures.py: every curve integrated or evaluated, then written as SVG. The live generators are the same equations in JavaScript and GLSL, in js/. Rerun the scripts and you get these files back. The credit is inside each file as well as beside it: EXIF on the JPEGs, text chunks on the PNG, a licence block in every SVG's metadata.