Chapter 51
Huygens and Diffraction Superposition
Wave Coherence and Optics
Author: Mark Anthony Higgins
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 February 2026
flow "Huygens and Diffraction Superposition" v1.0
# ---------- PURPOSE ----------
# Models wave propagation and diffraction through Huygens’ principle and boundary superposition.
# Each point on a wavefront acts as a secondary source; their interference defines the next wavefront.
# Diffraction arises where boundary conditions truncate or shape the field — a coherence reshaping of curvature.
# IB measures how faithfully phase relationships are preserved across superposed wavelets.
# IB = 1 → perfect coherence (sharp interference pattern).
# IB < 1 → partial coherence (diffuse edges, decoherence).
# ---------- PARAMETERS ----------
params:
units: "SI"
λ: positive # wavelength [m]
k: real = 2π/λ # wavenumber [1/m]
IB: 0.0..1.0 = 1.0 # boundary coherence index
aperture_width: positive # slit or opening size [m]
screen_distance: positive # distance to observation screen [m]
include_obstacle: bool = false
obstacle_profile: func?(x:real)->bool # optional mask for diffraction obstacle
dt: positive? # timestep for phase evolution
phase_function: func?(x:real)->real # optional initial phase map
# ---------- STATE ----------
state Wavefront:
x[]: real # discrete aperture coordinates [m]
ψ_i[]: complex # incident field amplitudes
ψ_s[]: complex # secondary wavelets
ψ_total[]: complex # total superposed field at screen
I[]: real # intensity distribution |ψ_total|²
fringe_visibility: real # measure of interference contrast
coherence_loss: real # 1 - IB (diffraction blur factor)
propagation_state: str # "coherent", "partial", or "diffuse"
# ---------- INVARIANTS ----------
invariants:
# Each aperture point emits a secondary spherical wavelet
for each xi in Wavefront.x:
phase_term = exp(i * params.k * sqrt(x_screen^2 + (params.screen_distance)^2))
Wavefront.ψ_s[xi] = Wavefront.ψ_i[xi] * phase_term
# Total field as superposition (Huygens–Fresnel integral approximation)
Wavefront.ψ_total[x_screen] = Σ_xi(Wavefront.ψ_s[xi])
# Intensity pattern on screen
Wavefront.I[x_screen] = |Wavefront.ψ_total[x_screen]|^2
# Fringe visibility (contrast measure)
Imax = max(Wavefront.I)
Imin = min(Wavefront.I)
Wavefront.fringe_visibility = (Imax - Imin) / (Imax + Imin)
# Coherence decay
Wavefront.coherence_loss = 1 - params.IB
if params.IB == 1:
Wavefront.propagation_state = "coherent"
elif params.IB > 0.5:
Wavefront.propagation_state = "partial"
else:
Wavefront.propagation_state = "diffuse"
# ---------- TRANSFORMS ----------
transforms:
apply_diffraction_mask:
if params.include_obstacle and params.obstacle_profile is defined:
for each xi in Wavefront.x:
if params.obstacle_profile(xi) == true:
Wavefront.ψ_i[xi] = 0
comment: "Obstacle truncates field — boundary diffraction."
decay_coherence:
params.IB = clamp(params.IB - 0.01 * (1 - params.IB), 0, 1)
Wavefront.coherence_loss = 1 - params.IB
if params.IB < 1:
Wavefront.propagation_state = "partial"
restore_coherence:
if params.IB < 1:
params.IB += 0.01 * (1 - params.IB)
params.IB = clamp(params.IB, 0, 1)
# ---------- MONITORS ----------
monitors:
energy_conservation:
assert Σ(Wavefront.I) > 0
comment: "Total energy conserved under superposition."
coherence_check:
if Wavefront.fringe_visibility < 0.1:
comment: "Low fringe visibility — partial or diffuse coherence."
boundary_constraints:
assert params.aperture_width > 0
assert params.screen_distance > 0
# ---------- SCENES ----------
scenes:
single_slit_diffraction:
given params:
λ: 500e-9
aperture_width: 0.2e-3
screen_distance: 1.0
IB: 1.0
expect:
Wavefront.propagation_state = "coherent"
comment: "Single-slit diffraction — coherent wavelet interference, Airy pattern formed."
double_slit_interference:
given params:
λ: 600e-9
aperture_width: 0.5e-3
screen_distance: 1.2
IB: 1.0
expect:
Wavefront.fringe_visibility ≈ 1
comment: "Double-slit interference — perfect phase superposition, bright/dark fringe symmetry."
diffuse_screen:
given params:
λ: 600e-9
aperture_width: 0.5e-3
screen_distance: 1.2
IB: 0.5
enable:
- decay_coherence
expect:
Wavefront.propagation_state = "partial"
Wavefront.fringe_visibility ↓
comment: "Reduced coherence — fringes blur, diffraction edges soften."
# ---------- NOTES ----------
notes:
- **Huygens’ Principle:**
Every point on a wavefront acts as a source of secondary spherical wavelets.
The envelope of these wavelets forms the next wavefront.
- **Superposition:**
The total field at any point is the sum of contributions from all secondary sources:
\[
\psi(x) = \int \psi_0(x') e^{ik|x - x'|} \, dx'
\]
- **Diffraction Condition:**
Boundary truncation reshapes curvature, causing interference patterns determined by aperture geometry.
- **Interference Energy:**
\[
I = |\psi|^2 = I_1 + I_2 + 2\sqrt{I_1 I_2} \cos(\Delta\phi)
\]
- **Coherence Law:**
\[
\dot{I_B} = -\lambda (1 - I_B)
\]
defines loss of phase alignment over distance or time.
- **Interpretation:**
- Perfect coherence (IB = 1): stable fringes, sharp diffraction edges.
- Partial coherence (IB < 1): fringes blur, intensity modulates smoothly.
- Incoherent limit: interference vanishes; energy spreads uniformly.
- **Visualization:**
- Left: expanding secondary wavelets forming a new front.
- Middle: double-slit interference pattern.
- Right: blurred diffraction envelope for IB < 1.
Light does not travel as a single advancing crest, but as an evolving field of coherence.
Every point on a wavefront acts as a secondary origin — a local curvature memory that re-emits the same phase pattern forward in time.
Together, these secondary waves form the next surface of constant phase.
This is the essence of Huygens’ principle: the wavefront is rebuilt from itself.
In the classical view, this process is purely geometric — a rule for constructing new wavefronts.
In the coherence view, it becomes recursive self-reconstruction: the field continually reproduces its own curvature through local superposition.
Huygens proposed that each point on a propagating front emits secondary spherical wavelets.
The next wavefront is the envelope tangent to all these spheres — the coherent sum of their amplitudes.
Mathematically:
\[ \psi(x) = \int \psi_0(x')\, e^{i k \lvert x - x' \rvert} \, dx' \]
This integral represents self-propagation by summation, a recursive generation of structure from structure.
When all secondary wavelets remain in perfect phase, the resulting front remains sharp and continuous — the hallmark of full coherence.
When part of the wavefront is obstructed or limited by an aperture, the perfect symmetry of superposition breaks.
The truncated field still emits secondary wavelets, but the boundary reshapes their interference, producing fringes and spreading beyond geometric limits.
This is diffraction: the visible expression of curvature redistribution under constraint.
The narrow the aperture, the greater the curvature tension — the field must bend more to preserve continuity.
This explains why diffraction broadens as the opening narrows: coherence tension must expand spatially to remain balanced.
Interference is the direct result of phase memory preserved across multiple paths.
Two coherent wavelets arriving at a point can reinforce or cancel one another:
\[ I = I_1 + I_2 + 2\sqrt{I_1 I_2}\cos(\Delta\phi) \]
This is the field remembering its own difference — a recursive comparison of phase histories.
When the phase relation remains stable across all sources, fringe visibility is maximal; when coherence drifts, interference fades into diffuse light.
The persistence of interference depends on the boundary coherence index .
\[ \dot{I_B} = -\lambda (1 - I_B) \]
describes the gradual loss of phase correlation.
In HST terms, diffraction is not a mystery of wave nature but a manifestation of boundary recursion.
Each aperture point re-emits curvature in a manner constrained by local geometry.
The pattern on the screen is a map of boundary feedback — a record of how each point’s curvature interacts with every other.
The coherence index binds it all:
Diffraction, interference, and propagation thus form a single continuum of coherence — the field’s attempt to sustain geometric memory across space.
Huygens’ principle reveals that light perpetuates itself through recursive structure:
each point is both source and memory of curvature.
Diffraction occurs when this recursion is constrained; interference, when it overlaps;
and coherence loss, when the recursion loses alignment.
In the HST–Flow interpretation:
Thus, light is not a moving substance but an evolving coherence field — continually rewriting its own shape, remembering and forgetting itself at the boundaries of curvature.