aidoesscience
aidoesscience › Rainbow · Descartes 42°
Validating · validations

Rainbow · Descartes' 42° caustic

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?

Rainbow · Descartes' 42° caustic simulation running in the browser

▶ Run the simulationSee the measured result

Measured by the lab
41.842895
Known value
41.842896
Relative error
8.90e-9

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

Rainbow angle calculator (Descartes' minimum deviation, the secondary bow, Alexander's dark band and the colour reversal)

Every rainbow anyone has ever seen sits 42° from the shadow of their own head, and nobody has ever walked closer to one. Descartes worked out why in 1637 by tracing rays through a single spherical drop: light that enters, bounces once off the back wall and leaves again is turned through an angle that DOES NOT vary smoothly with where it struck the drop — there is a value it cannot get past, and rays pile up against that limit from both sides. The pile-up is the bow. This page computes that limit, and every number on it is assembled from the four boxes above rather than stored: the primary at 41.84289564004371°, the secondary at 51.31°, the 8° of empty sky between them that Alexander of Aphrodisias noticed around 200 AD, and the reason the second bow has its colours the wrong way round. The simulation above never evaluated any of these formulae — it traced direction vectors through refract·reflect·refract chains and found the caustic by golden section on the traced exit angles — so the agreement below is two independent routes to the same sky, not one route reported twice. Two of the spellings here are chosen rather than inherited, and both are differences of two squares that had to be factored. cos²i = (n²−1)/(k²+2k) is written (n−1)(n+1) because it vanishes at n = 1. The other one matters more: sin²i = ((k+1)²−n²)/(k²+2k) is written (k+1−n)(k+1+n) because it vanishes at n = k+1, and that is not a rounding boundary but a PHYSICAL one — at n = 2 the primary bow closes up entirely and there is no rainbow to compute. A quantity whose whole job is to decide whether something exists has to be evaluated accurately at its own zero, and the textbook grouping is not: over 200000 random indices between 1 and 2 the two spellings disagree 21.570% of the time, worst 2.653e-6 relative, and at n = 2 − 10⁻⁸ they differ by 12% on the size of the last surviving bow. Four things this page will not do — it will not re-run the simulation or move a single number the finding recovered; it will not give you the supernumerary arcs, which are an interference effect Airy's 1838 wave theory supplies and ray optics cannot; it will not tell you how BRIGHT the bow is, since geometric optics diverges at a caustic and Fresnel weights only set the colour balance; and it will not invert a secondary bow, because the fold turns that curve round and a measured angle there does not name one index.

sin i = n sin r · D_k(i) = k*pi + 2i - 2(k+1)r · stationary at cos^2 i = (n-1)(n+1)/(k^2+2k), sin^2 i = (k+1-n)(k+1+n)/(k^2+2k), cos r = ((k+1)/n)*cos i · sky angle phi = |180 - D mod 360| · the k-th bow exists only while n <= k+1 · Cauchy n(lambda) = A + B/lambda^2

—
This simulation has a catalogued, oracle-checked result: Descartes rainbow.