Maxwell's Equations & Light
Four compact equations unify electricity, magnetism and light. Starting from Gauss, Faraday and Ampère–Maxwell, we derive the electromagnetic wave equation, explore plane-wave polarisation, understand dispersion through the Sellmeier formula, and compute Fresnel reflection and transmission coefficients.
1. Maxwell's Four Equations
In differential form (SI units), Maxwell's equations are:
The genius of Maxwell's 1865 addition, the displacement current term μ₀ε₀ ∂E/∂t, was to make Ampère's law self-consistent and — as a direct consequence — predict that changing electric fields produce magnetic fields without any physical current. This single stroke predicted electromagnetic waves.
Gauss (electric)
Electric field lines originate on positive charges and terminate on negative charges. Flux through a closed surface equals enclosed charge / ε₀.
Gauss (magnetic)
Magnetic field lines form closed loops — there are no magnetic monopoles. Net flux through any closed surface is zero.
Faraday
A time-varying magnetic field induces a circulating electric field. The rate of change of flux drives the EMF around a loop.
Ampère–Maxwell
A current or changing electric flux produces a circulating magnetic field. Displacement current closes the loop and predicts radiation.
In vacuum (ρ = 0, J = 0), the equations simplify beautifully — each field is driven exclusively by the time variation of the other.
2. Deriving the Wave Equation
Taking the curl of Faraday's law and substituting Ampère–Maxwell:
This is the classical wave equation with propagation speed:
Maxwell immediately recognised this as the speed of light, providing the first theoretical proof that light is an electromagnetic wave. An analogous equation holds for B. Both fields satisfy identical wave equations, and their solutions are intrinsically linked through Faraday's and Ampère's laws.
3. Plane Waves & the Poynting Vector
The simplest solution — a monochromatic plane wave travelling in the z-direction:
Key observations:
- E ⊥ B ⊥ k — both fields are transverse to the propagation direction and perpendicular to each other.
- |B| = |E|/c — the magnetic field amplitude is much smaller in SI units.
- In-phase — E and B oscillate synchronously (in vacuum).
The electromagnetic energy flux (power per unit area) is given by the Poynting vector:
Radiation pressure on a perfect absorber is ⟨S⟩/c — the basis of solar sails and laser trapping of particles.
4. Polarisation States
Polarisation describes the orientation of the electric field vector:
Linear
E oscillates in a fixed plane. A polarising filter transmits only one component; intensity follows Malus's law: I = I₀ cos²θ.
Circular
E rotates at frequency ω with constant magnitude. Requires two orthogonal components 90° out of phase: E = E₀(x̂ cosωt ± ŷ sinωt).
Elliptical
The general case: E traces an ellipse. Described by the Jones vector [Eₓ, Eᵧ]ᵀ or Stokes parameters (S₀, S₁, S₂, S₃).
Unpolarised
Thermal sources emit a random superposition of all polarisation states; the Stokes parameter S₁ = S₂ = S₃ = 0, only S₀ ≠ 0.
Jones matrices allow optical elements (wave plates, mirrors, beam splitters) to be modelled as 2×2 complex matrix multiplications on the Jones vector, enabling concise analysis of complex polarisation optics.
5. Dispersion & the Sellmeier Equation
In a dielectric medium, free electrons of the material respond to the driving electric field. The refractive index n(λ) varies with wavelength — this is dispersion. The Sellmeier equation fits measured data with high accuracy:
Important derived quantities:
- Phase velocity: vₚ = c/n — speed at which the wavefront advances.
- Group velocity: vᵍ = c/(n + ω dn/dω) — speed at which energy (a pulse) travels.
- Group velocity dispersion (GVD): β₂ = d²k/dω² — causes pulse broadening in optical fibres; critical in femtosecond lasers.
Normal dispersion (dn/dλ < 0) makes blue light travel slower than red — responsible for prismatic rainbows. Anomalous dispersion near absorption resonances reverses this.
6. Fresnel Coefficients
At an interface between media with indices n₁ and n₂, Snell's law gives the refracted angle: n₁ sinθᵢ = n₂ sinθₜ. The amplitude reflection and transmission coefficients follow from boundary conditions on E and B (fields tangential to the surface must be continuous):
At Brewster's angle (θ_B = arctan(n₂/n₁)), rₚ = 0 — reflected light is perfectly s-polarised. Total internal reflection occurs for θᵢ > θ_c = arcsin(n₂/n₁) when n₁ > n₂ — the basis of optical fibres.
7. JavaScript — E/B Field Visualiser
A canvas-based visualiser of a linearly polarised plane wave propagating along the x-axis. E is vertical (y), B is horizontal (z).
// Animate a plane wave E(x,t) = E₀ sin(kx − ωt) using Canvas 2D
function PlaneWaveVis(canvas) {
const ctx = canvas.getContext('2d');
const W = canvas.width, H = canvas.height;
const cx = H / 2;
let t = 0;
const LAMBDA = 100; // pixels per wavelength
const OMEGA = 0.05; // rad / frame
const AMP_E = 60;
const k = (2 * Math.PI) / LAMBDA;
function drawArrow(x1, y1, x2, y2, color) {
ctx.strokeStyle = color;
ctx.lineWidth = 1.5;
ctx.beginPath();
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.stroke();
const angle = Math.atan2(y2 - y1, x2 - x1);
const len = 8;
ctx.beginPath();
ctx.moveTo(x2, y2);
ctx.lineTo(x2 - len * Math.cos(angle - 0.4), y2 - len * Math.sin(angle - 0.4));
ctx.moveTo(x2, y2);
ctx.lineTo(x2 - len * Math.cos(angle + 0.4), y2 - len * Math.sin(angle + 0.4));
ctx.stroke();
}
function frame() {
ctx.clearRect(0, 0, W, H);
ctx.fillStyle = '#0f172a';
ctx.fillRect(0, 0, W, H);
// propagation axis
ctx.strokeStyle = '#334155';
ctx.lineWidth = 1;
ctx.beginPath(); ctx.moveTo(0, cx); ctx.lineTo(W, cx); ctx.stroke();
const STEP = 12;
for (let x = 0; x < W; x += STEP) {
const phase = k * x - OMEGA * t;
const eY = AMP_E * Math.sin(phase); // E field (vertical)
const bLen = (AMP_E / 3) * Math.sin(phase); // B field (shown as colour)
// E vector (cyan)
drawArrow(x, cx, x, cx - eY, '#38bdf8');
// B vector (orange, pointing "into" screen — shown as dot/cross)
const r = Math.abs(bLen) * 0.18;
ctx.fillStyle = '#fb923c';
ctx.beginPath();
ctx.arc(x, cx, Math.max(1.5, r), 0, Math.PI * 2);
ctx.fill();
}
t++;
requestAnimationFrame(frame);
}
frame();
}
// Sellmeier refractive index for BK7
function sellmeierBK7(lambdaMicron) {
const l2 = lambdaMicron * lambdaMicron;
return Math.sqrt(
1
+ (1.03961 * l2) / (l2 - 0.00600)
+ (0.23179 * l2) / (l2 - 0.02001)
+ (1.01047 * l2) / (l2 - 103.56)
);
}
// Fresnel reflectance at normal incidence
function fresnelR(n1, n2) {
return ((n2 - n1) / (n2 + n1)) ** 2;
}
// Example: air → BK7 glass at 589 nm (sodium D-line)
const n_bk7 = sellmeierBK7(0.589); // ≈ 1.5168
console.log(`n = ${n_bk7.toFixed(4)}, R = ${(fresnelR(1, n_bk7) * 100).toFixed(2)}%`);
Run new PlaneWaveVis(document.querySelector('canvas')) to
see the animated wave. The B-field circles represent the magnitude of
the out-of-plane component — cyan arrows are the electric field.
8. Applications & Further Topics
- Optical fibres: Total internal reflection guides light through glass cores with losses < 0.2 dB/km at 1550 nm.
- Antireflection coatings: A quarter-wave layer (thickness λ/4n) uses Fresnel phase cancellation to eliminate reflections.
- Radar & microwave engineering: Maxwell's equations underpin antenna design, waveguides and phased arrays operating at GHz frequencies.
- Photonic crystals: Periodic dielectric structures open photonic band gaps by Bragg scattering of electromagnetic waves.
- FDTD simulation: The Finite-Difference Time-Domain method discretises Maxwell's equations on a Yee grid to simulate arbitrary 3D geometries.
- Special relativity: Maxwell's equations are inherently Lorentz-covariant — they motivated Einstein's 1905 special relativity paper.