How a Prism Splits Light
By Lucian — builder & engineer, LK Forge
A prism turns one white beam into a rainbow because glass does not have a single refractive index — it has a different one for every colour. That wavelength dependence, Cauchy’s law, is what fans the light, and it is also what separates a good lens glass from a good spectrometer glass. We ran the numbers from the prism simulator’s own optics: the index curves, the Abbe number that ranks each glass, and the measured spread of the rainbow.
· 6 min read · every value from the shipped optics, checked against real glass
The one curve behind the rainbow
Everything a prism does starts with a single fact: the refractive index falls as wavelength rises. Cauchy’s relation n(λ) = B + C/λ² captures it with two constants per material — B sets the overall bending, C sets how fast it changes with colour. The C term is the whole story of dispersion: crown’s is small (0.0042), flint’s is more than double (0.0111), so flint’s curve is far steeper. Water sits lowest of all, which is why a raindrop makes a gentle rainbow.
Cauchy index n(λ) for the three media. Every curve falls toward the red; flint is highest and steepest, crown sits in the middle, water lowest.
One number ranks the glass: the Abbe number
Opticians compress the whole dispersion story into a single figure, the Abbe number Vd = (nD − 1)/(nF − nC), read at three standard reference wavelengths. It runs backwards to intuition: a high Abbe number means low dispersion. The values below come straight from the lab’s Cauchy indices, and they land on real glass — crown at 64.4 against the textbook 64.2 for BK7, water at 56.1 against 55.6.
| Medium | n (589 nm) | Abbe Vd | Real Vd | Violet–red spread* |
|---|---|---|---|---|
| Crown glass | 1.5167 | 64.4 | 64.2 | 1.30° |
| Flint glass | 1.6518 | 30.8 | 33 | 4.01° |
| Water | 1.3399 | 56.1 | 55.6 | 0.86° |
*Violet (420 nm) minus red (680 nm) deviation for a 60° prism at minimum deviation. Real Abbe values are typical published figures (BK7 crown, dense flint, water). Lower Abbe = more dispersion = wider spread.
How wide the rainbow actually is
The Abbe number is abstract; the spread is what you see. Sending violet (420 nm) and red (680 nm) through a 60° prism at minimum deviation, the angle between where they land is the width of the rainbow. Flint pulls them 4.01° apart, crown only 1.30°, water a mere 0.86° — the same 3× gap the Abbe numbers predicted, now in degrees you could measure with a protractor.
Violet–red angular spread through a 60° prism at minimum deviation. Flint’s rainbow is more than three times wider than crown’s.
The deviation measures the index — exactly
There is a neat closing loop. We started from the Cauchy index and computed the prism’s minimum deviation δ. Invert the standard relation — n = sin((A + δ)/2) / sin(A/2) — and the index comes straight back: 1.5167 for crown, 1.6518 for flint, to the last digit we put in. That is not a coincidence, it is the actual method spectroscopists use: measure a prism’s apex angle and its minimum deviation with a spectrometer, and you have the refractive index of the glass without ever touching a wavelength directly. The simulator’s optics are self-consistent the same way the real experiment is.
Reproduce it yourself
Three short formulas reproduce every number here. The index is Cauchy; the deviation of a prism at minimum deviation is a one-liner; the Abbe number reads three points off the curve.
const DEG = Math.PI / 180;
// Cauchy index (λ in nm). Crown: B=1.5046, C=0.00420
const nAt = (B, C, nm) => B + C / ((nm / 1000) ** 2);
// minimum deviation of an apex-A prism at index n
const minDev = (A, n) => (2 * Math.asin(n * Math.sin(A * DEG / 2)) - A * DEG) / DEG;
// Abbe number from the C/D/F Fraunhofer lines
const nD = nAt(1.5046, 0.0042, 589.3);
const nF = nAt(1.5046, 0.0042, 486.1);
const nC = nAt(1.5046, 0.0042, 656.3);
const Vd = (nD - 1) / (nF - nC); // 64.4 (real BK7 crown: 64.2) The full sweep is the small script behind this post; the nAt, deviation and minimum-deviation routines are lifted straight from the prism solver.
Split some light
Open the simulator, switch the glass from crown to flint, and watch the rainbow fan out — then read the deviation and index live.