Controls
- Drag: move around the black hole (changes your position θ, φ).
- Right-drag or Shift + drag: look around (yaw / pitch). Double-click: look at the hole again.
- Wheel / pinch: distance. Ctrl + wheel: field of view.
- W A S D, R F: fly (forward/back, left/right, up/down) in your own frame. Q E: roll. Space: time.
- Alt + click on the image: trace that pixel's light ray in double precision and show where it came from.
What is computed
Every pixel is one light ray traced backwards from your eye along an exact null geodesic of the
Kerr metric (rotating black hole, Boyer–Lindquist coordinates). Frame dragging is not an add-on – it is
part of the metric, so light passing the side that rotates towards you is bent differently from light on the
other side. That is why the shadow of a fast-spinning hole is flattened and shifted, and why the sky and the
disk look twisted near the poles.
The equations are integrated in Mino time with the Carter constants (energy, angular momentum, Carter's Q)
using fourth-order Runge–Kutta with constraint projection. The shadow edge agrees with the analytic
result (Bardeen 1973; Grenzebach, Perlick & Lämmerzahl 2014 for observers at any distance and speed) –
switch on Shadow outline to compare them yourself.
You are an observer with a real 4-velocity: hovering on rockets, dragged along with space (ZAMO),
orbiting, falling in from far away, or flying with any velocity. Your camera is your own orthonormal frame, so
aberration (the sky crowding ahead of you when you move fast) is exact.
Colour and brightness are spectral. Each source emits a spectrum in its own rest frame (stars,
the disk and luminous objects are black bodies; painted objects reflect white 6500 K light). The frequency
ratio g = νyou/νsource combines gravitational red-/blueshift, the Doppler effect of the
source and your own motion; the spectrum is shifted (Iλ → g⁵ Iλ(gλ)) and then integrated
against the CIE 1931 colour-matching functions. A blueshifted object therefore shows light that it emitted in
the infrared; a redshifted one fades into darkness. Relativistic beaming follows automatically.
The accretion disk is the Novikov–Thorne thin disk: gas on circular Kepler orbits outside the ISCO,
local temperature from the Page–Thorne flux. Its pattern rotates with the gas, and every pixel shows the
disk at the moment the light left it (light travel time). Moving objects are handled the same way.
Brightness is physical (luminance in cd/m²). Automatic exposure behaves like an eye adapting to the
scene: next to a 10 000 K disk the stars are invisible, just as they would be in reality. The tone mapper only
compresses the result for the screen.
Comparisons
Frequency shift off gives the "Interstellar" look (no Doppler, no gravitational shift).
No gravity traces straight lines in flat space – where things are, not how they look.
The analysis views show the frequency shift g, the order of each image (how many half-turns around the hole
the light made), and the light travel time.
Honest limits
- Objects are shapes at fixed Boyer–Lindquist/oblate coordinates (or rigidly co-rotating). Close to the hole
that is a definition, not a rigid body; static objects inside the ergosphere are impossible and drawn with
warning stripes.
- Objects glow or are evenly lit; there is no light transport between objects (no shadows, no disk
illumination). The black hole itself never emits.
- The tracer stops at the event horizon: you can fall to it, not through it.
- Diffraction, dust, the disk's corona and jets are not included. Stars and the Milky Way are procedural.
Units: G = c = M = 1. Distances are in M = GM/c² (for a black hole of 4.3 million solar masses,
like Sgr A*, 1 M ≈ 6.35 million km).