Hologram plate simulator
Point sources + a reference laser interfere, expose a plate, and the plate replays the recorded scene.
Click the canvas to add a point source (max 6), drag to move one, double-click a source to remove it. The vertical line is the film plate.
Drag the eye on the canvas. The dashed arc is where the eye is focused (distance D); the dashed line measures the distance to the virtual image. The retina strip (top = up) is normalized to a perfectly focused eye: the spot at the white marker reaches full brightness only when the focus arc passes through the ghost ring — “Focus image” snaps it there — and dims as you misfocus. The blue marker is the zero-order beam direction. The pupil is 6 units wide because the wavelength is huge here: depth of field scales as λ/W², so a smaller pupil couldn't tell distances apart at all.
Live analysis: what the current plate is doing
The full explanation of everything measured here is in the article. This panel is its live companion: every readout below is recomputed from the current sliders, sources, and mode.
Color code, used in every equation below — recording beam: \(\lambda_R, \theta_R\) · replay beam: \(\lambda_P, \theta_P\) · their ratio \(\mu =\) \(\lambda_P\)/\(\lambda_R\) · geometry: \(y, d, a, b, \theta_{\mathrm{obj}}, \Delta L\) · diffraction order \(m\) · noise: \(\sigma_\lambda, \sigma_\theta, L_c\). The same few groupings recur: every image property is geometry scaled by μ and shifted by the replay–recording mismatch.
Every symbol, and the slider that sets it
| \(\lambda_R\) | recording (laser) wavelength — sets the fringe spacing written into the plate | Laser wavelength |
| \(\theta_R\) | reference-beam angle at recording, measured from the plate normal | Reference angle |
| \(\lambda_P\) | replay (reconstruction) wavelength | Replay wavelength |
| \(\theta_P\) | replay-beam angle | Replay angle |
| \(\mu\) | = \(\lambda_P\)/\(\lambda_R\), the wavelength ratio that scales every image position | (derived) |
| \(y\) | height up the plate; \(\theta_{\mathrm{obj}}(y)\) is the object-ray angle there, \(d\) its path length | — |
| \(a, b\) | a source sits at (\(-a, b\)): depth \(a\) in front of the plate, height \(b\) | drag on canvas |
| \(H\) | plate half-height = half the aperture; sets resolution \(\sim\) \(\lambda\)\(/2H\) | Plate half-height |
| \(D\) | distance the eye is focused (accommodated) to | Eye focus distance |
| \(m\) | diffraction order: 0 = straight through, +1 = image, −1 = conjugate twin | — |
| \(L_c\) | coherence length — how far apart two path lengths can be and still make fringes | Coherence length |
| \(\Delta L_0\) | delay-line detuning — extra reference path beyond the length that balances the arms (to source 1) at the plate center | Arm balance |
| \(\sigma_\lambda, \sigma_\theta\) | recording jitter: laser linewidth and reference-angle wobble during exposure | Wavelength / Angle jitter |
| \(\sigma_L, \sigma_g\) | path-length (vibration) jitter and additive plate-grain noise | Phase jitter / Plate grain |
| \(\sigma_{\lambda P}, \sigma_{\theta P}\) | replay-source spread: bandwidth (LED vs laser) and angular diffusion (lamp vs point) | Replay bandwidth / diffusion |
Grating equation: where the orders leave the plate
On replay each patch of plate splits the beam into orders m = 0, ±1 at sin θout(y) = sin θP + m·μ·[sin θobj(y) − sin θR].
Live diagram — the replay beam (blue) hits the plate and splits into orders at the angles the grating equation gives for the plate center. Solid rays propagate; an order drawn as a decaying squiggle hugging the plate is evanescent. Drag the replay angle and μ and watch the fan swing.
Where the energy goes (computed from the current plate)
The developed plate splits unit incident power among absorption, the zero order, and the two first-order sideband families.
Exact Parseval split of unit incident power for a thin amplitude hologram, illuminated at unit amplitude across the aperture with obliquity ignored: the zero order carries t̄², the two sideband families (all m > 0 and all m < 0) carry 〈Δt²〉/2 each, and the remainder, 1 − 〈t²〉, is absorbed by the plate — for typical fringes the largest share. With several recorded sources the sideband families also include the intermodulation (object–object) terms, not just the ±1 images. When the −1 order is evanescent (hatched segment) its share is not radiated and is not handed to the other orders: it is dissipated at the plate.
Virtual image (m = +1)
The reconstructed object wave diverges as if from x = −a/μ, y = b − (a/μ)(sin θP − μ sin θR) — with matched replay, exactly the recorded source.
Conjugate focus (m = −1)
The phase-reversed twin converges to a real focus at x = +a/μ, y = b + (a/μ)(sin θP + μ sin θR), when the grating can propagate it at all.
Recorded fringe spacing
The plate stores fringes of local spacing Λ(y) = λR / |sin θobj(y) − sin θR|, fixed at recording time.
The recorded fringes (a cut down the plate)
The actual transmittance t(y) the plate would develop right now — the same data mode 1 shows in 2D, as a 1-D strip down the plate. Drop the wavelength or open the reference angle and watch the bands pack tighter.
Depth scaling at the current μ
Replay at μ = λP/λR compresses recorded depths by 1/μ; heights are reproduced 1:1.
Aperture and resolution
The plate is the aperture: its width A = 2H sets the diffraction-limited blur δθ ≈ λP/A.
Depth of field of the eye
Misfocus registers only when the wavefront-sag difference across the pupil exceeds a quarter wave: |1/D − 1/Dimg| > 2λP/W².
Coherence band
Fringes record only where the object–reference path difference stays within the coherence length Lc.
Exposure noise, as fringe visibility
Each Gaussian jitter multiplies the fringe contrast by exp(−σφ²/2), with its own phase spread σφ.