Rainbow · Descartes' 42° caustic simulation
Why does the rainbow always sit at the same angle from the sun (~42°), whatever the size of the raindrops — and why is it split into colours?
▶ Run the simulationSee the measured result
Units: degrees from the antisolar point, primary bow at the module's green (550 nm, Cauchy n = 1.3346215)
How the lab tests it
Vector-trace a real ray (refract in · reflect once off the back wall · refract out) through a spherical water drop, and RACE the caustic: a golden-section extremum search that only ever COMPARES traced exit angles over impact parameter b. No deviation formula D(i) = π + 2i − 4r and no closed-form minimum anywhere in the measured path — both survive on screen only as labelled '(raced; closed …)' cross-checks. Repeat per wavelength with Cauchy n(λ) = A + B/λ² for the colour split, and with two internal reflections for the secondary bow.
What it checks
DESCARTES' RAINBOW — the traced exit angle has an EXTREMUM over impact parameter, so rays pile up at the smallest deviation: a caustic. That bright arc sits at the rainbow angle φ = 180° − D_min = 42.0° for water (the raced and closed-form i_min agree on screen), independent of drop size. Dispersion gives each colour its own raced caustic — red 42.4° (outer), violet 40.8° (inner), Δ≈1.6° — and a second reflection makes the secondary bow at ~51° (colours reversed) with Alexander's dark band between