◈ component · prism-lens
Cauchy Dispersion Prism
A collimated beam refracted into 16 spectral bands by the genuine Cauchy relation n(λ) = A + B/λ², with symmetric-passage prism deviation. Ships with real optical glass constants.
One beam. Two glasses.
Pin the first glass, then change the second. Both diagrams share the same apex and incident-beam construction.
Advanced: the coefficients behind the response
Cauchy n(λ) = A + B/λ², with λ in nanometres here. Increasing B increases the wavelength dependence. The diagram includes internal reflection where an exit ray cannot transmit.
A = 1.5046; B = 4200; apex = 60°
Mount the prism
import { useOpticalSurface } from '@/components/optics/useOpticalSurface';
import { createDispersionRenderer } from '@/components/optics/renderers/dispersion';
function Prism() {
const {hostRef,canvasRef,ready} = useOpticalSurface({createRenderer:createDispersionRenderer,getUniforms:()=>({u_cauchyA:1.5046,u_cauchyB:4200,u_apex:1.0471975511965976})});
return <div ref={hostRef} style={{position:'relative',height:360}}><p>Optical illustration</p><canvas ref={canvasRef} style={{position:'absolute',inset:0,width:'100%',height:'100%',opacity:ready?1:0}} /></div>;
}Open this glass in the laboratory →Copies component source and tokens directly into your repository with requirements listed for this item: no additional npm dependencies beyond the host framework.
Open-source under MIT. We preserve the source header comment, and invite you to credit the archive on your project's /about, /colophon, or footer. Display our Archival Colophon Seal or copy a citation snippet below. Sites displaying the seal are welcome to submit to our Federation Showcase!
Mount it in your application.
React examples use a client component. Optical surfaces need a sized host, the installed optical stylesheet, and a MovementProvider above the preview. Import your chosen movement tokens and load the fonts separately.
"use client";
import { MovementProvider } from '@/components/MovementProvider';
import '@/registry/optical-components.css';
// Install movement-themes separately for the ten authored palettes.
// import '@/registry/movement-themes.css';
export default function Example() {
return <MovementProvider>{/* place the selected preview here */}</MovementProvider>;
}Optical glasses
| Glass | A | B (nm²) | Note |
|---|---|---|---|
| bk7 | 1.5046 | 4,200 | Borosilicate crown |
| sf10 | 1.728 | 13,420 | Dense flint |
| fused-silica | 1.458 | 3,540 | UV-grade quartz |
| bohemian-crystal | 1.64 | 10,800 | Lead crystal (Atlas CZE) |
Source
components/optics/renderers/dispersion.tslib/render/prism.ts
Registry item: /r/prism-lens.json
Citation
Cauchy, A.-L. (1836). Mémoire sur la dispersion de la lumière. J. G. Calve.
