Units where c = 1. The vertical axis is ct and the horizontal axis is x.
Frame S′ moves at velocity v relative to S. Use the Relativity button to switch between
special relativity (Lorentz transforms; light at 45° in every inertial frame) and Galilean relativity
(absolute time; light stays at 45° only in S).
Objects pinned to S′ (via F) keep fixed primed coordinates as you change v.
Side panel
Relativity — toggle Special vs Galilean transforms for axes, grids, pinning, and measurements.
Click mode — chooses what a click on the diagram does. The short hint under the radios updates for the selected mode.
Frame S · Draw gridlines — toggles the orthogonal (x, ct) grid.
Relative velocity — slider from −0.9c to +0.9c sets the boost of S′ relative to S.
Draw S′ gridlines — toggles lines of constant x′ and ct′.
General shortcuts
O — toggle unprimed S axes (and their grid when enabled).
P — toggle primed S′ axes (and their grid when enabled).
L — toggle the diagram’s light cone (45° lines). When a flash line is selected, L toggles rays from each flash instead.
Esc — clear an active measurement or pinned info labels, or close this help panel.
C — reset the simulation to defaults (asks for confirmation first).
I — while hovering an event or worldline, pin/unpin its info label; with nothing hovered, clear all pinned labels.
Delete / Backspace — remove the hovered event, worldline, simultaneity line, or flash line.
Create event
Click empty space to place an event.
Drag an event to move it.
Hover an event:F pin to S / S′; S snap to 0.1; I keep coordinates visible; arrows nudge by 0.1; Delete removes.
Create worldline
A preview follows the cursor; click to place. Starts at rest (vertical).
Drag a worldline to move its velocity-fixed point. Hover: + / − change velocity by 0.05c (can exceed ±c); F tie to S′; I keep velocity visible; Delete removes.
|u| < c solid; |u| = c light-colored dashed; |u| > c red dashed.
Create simultaneity
Places a line of constant ct (horizontal). Preview follows the cursor.
Hover: F switch to constant ct′ (tilts with boost); ↑ / ↓ nudge time by 0.05; Delete removes.
Create flash line
Places flashing sources from the cursor upward in time.
Drag a flash line to move it. Hover: + / − velocity; U / D flash spacing; arrows move the line; F frame; L future light rays (±45°) from each flash; Delete removes.
Measure
Click and drag between any two points. By default shows (dx, dct) in white.
While a measurement is shown, Tab cycles: S only → S′ only (green) → both → S only.
F pin endpoints to S or S′ (they track that frame as the boost changes); S snap both endpoints to the 0.1 grid in the pinned frame; Esc clears.
Switching to another click mode also clears the measurement.