aidoesscience
aidoesscience › 22° ice halo · min-deviation caustic
Validating · validations

22° ice halo · Bravais' min-deviation caustic

Why does a bright ring of radius ≈22° so often circle the Sun or Moon through thin cloud — the same size every time, whatever the ice? And why is it red on the inside, the reverse of a rainbow?

22° ice halo · Bravais' min-deviation caustic simulation running in the browser

▶ Run the simulationSee the measured result

Measured by the lab
21.8393
Known value
21.84
Relative error
3.21e-5

Units: degrees — angular radius of the small/22° halo = minimum deviation of a 60° ice prism at n = 1.31 (Greenler 1980; Tape 1994; Lynch & Livingston 2001; commonly quoted 21.8–21.84°)

How the lab tests it

Trace a ray through a hexagonal ice crystal as a 60° prism: refract in (Snell r1 = asin(sin i / n)), cross to the far face at r2 = A − r1, refract out (e = asin(n sin r2)), and record the deviation D(i) = i + e − A. Sweep the incidence i over every ray the tumbling crystals present and find the minimum of D(i) by a raw numeric scan + parabolic refine — never the closed form 2·asin(n sin(A/2)) − A, never assuming symmetric passage. Repeat for a 90° prism (the 46° halo), for red and blue ice indices (the colour split), and for the reflection rival D = 180° − 2θ.

What it checks

BRAVAIS' HALO (1847) — D(i) has a MINIMUM, so tumbling ice crystals pile light up at the smallest deviation: a caustic. That bright ring sits at D_min = 21.84° for ice (n = 1.31), dark inside, INDEPENDENT of crystal size — recovered here to rel 3e-5 from a raw Snell sweep with no formula coded, the symmetric passage i = e emerging on its own. The SAME machinery on a 90° prism gives the 46° halo (45.7°), and a prism steeper than 2·asin(1/n) = 99.5° is fully total-internal-reflecting — why 46° is the largest. Dispersion puts blue at larger deviation, so the ring is RED on its INNER edge, the reverse of the rainbow's red-outer order. The naive 'halo = reflected sunlight' is falsified structurally: reflection D = 180° − 2θ has |dD/dθ| = 2 everywhere — no stationary point, no ring. The refraction sibling of ?world=rainbow's reflection caustic.

Prism minimum-deviation calculator (the 22° halo, a refractive index from one goniometer reading, the 46° sibling and the apex ceiling that ends them)

A prism turns light, and there is one angle it cannot turn light less than. Push a ray in at glancing incidence and the deviation is large; swing it round to the other edge of the window and the deviation is large again; somewhere between, the curve bottoms out — and because it bottoms out FLAT, rays arriving from a whole spread of directions leave in almost the same one. That is the entire mechanism behind the bright ring people photograph around the Sun through cirrus: hexagonal ice presents 60° prisms in every orientation, and the light piles up at their minimum deviation, 21.84° for ice, which is the 22° halo. The same relation run backwards is how a refractometer works — one goniometer reading of the minimum deviation weighs a refractive index to the fifth decimal, with no angle ever measured inside the glass. Nothing on this page stores a halo angle. It declares an index and an apex, and then finds the minimum TWICE by routes that share no algebra: a golden-section search on D(i), which is exactly what the simulation above does, and the closed form the stationary condition implies, which the simulation never evaluated. Two of the numbers here are quoted as bounds rather than as digits, on purpose and for the same reason the ring exists: D is flat at the minimum, so the deviation is reproducible far past nine figures while the incidence that produced it is cancellation-amplified and its last digits belong to the JavaScript engine. The 90° sibling ring falls out of the same line of code, the transmission ceiling 2·asin(1/n) = 99.52° explains why the halos stop rather than continuing to larger radii, dispersion puts RED on the INSIDE — the reverse of a rainbow, and a falsifiable claim about any photograph — and the caustic direction predicts the oracle's own Monte-Carlo histogram, 5297 against 5263 in the innermost bin, from a curvature written in closed form. The rival theory that the halo is reflected sunlight is carried here too, and it dies on a derivative: 180° − 2θ is a straight line, a straight line has no stationary point, and without a stationary point there is no ring.

sin i = n sin r1 · r2 = A - r1 · sin e = n sin r2 · D(i) = i + e - A · dD/di = 1 - (cos r2 cos i)/(cos r1 cos e) = 0 only at r1 = r2 = A/2 · D_min = 2 asin(n sin(A/2)) - A · n = sin((A + D_min)/2) / sin(A/2) · i_lo = asin(n sin(A - theta_c)), theta_c = asin(1/n), apex ceiling A <= 2 theta_c · D_max = 90 + i_lo - A at BOTH window edges · D'' = 2 tan i* - 2 sin i* cos i*/(n^2 - sin^2 i*), density ~ 1/sqrt(D - D_min)

—
This simulation has a catalogued, oracle-checked result: The 22° ice halo read off a raw Snell sweep.