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.

1.0×
3.0
532 nm
30°
0.00 (balanced)
0 nm
0 λ
0
0.00
532 nm
30°
15
0 nm
show only the diffracted wave (t − t̄), which carries the image
overlay rings spaced λ around each source — the wave the plate should regenerate
theoretical exit rays and paraxial focus of the second, phase-reversed image
show the reconstructed intensity |E|² instead of the live wave — double-exposure fringes show here
7.5

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 replayrecording mismatch.

Every symbol, and the slider that sets it

\(\lambda_R\)recording (laser) wavelength — sets the fringe spacing written into the plateLaser wavelength
\(\theta_R\)reference-beam angle at recording, measured from the plate normalReference angle
\(\lambda_P\)replay (reconstruction) wavelengthReplay wavelength
\(\theta_P\)replay-beam angleReplay 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) toEye 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 fringesCoherence length
\(\Delta L_0\)delay-line detuning — extra reference path beyond the length that balances the arms (to source 1) at the plate centerArm balance
\(\sigma_\lambda, \sigma_\theta\)recording jitter: laser linewidth and reference-angle wobble during exposureWavelength / Angle jitter
\(\sigma_L, \sigma_g\)path-length (vibration) jitter and additive plate-grain noisePhase 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 σφ.