Light can be modeled as an electromagnetic wave with wavelength, frequency, phase, polarization, and field amplitude. Which values belong in state depends on the question. A timing question may need frequency and phase; a diffraction question needs wavelength and aperture; a polarization question needs two transverse components and their relative phase.
The basic relationship is
\[v=\lambda f,\qquad c=\lambda_0 f,\qquad v=\frac{c}{n}\]λ₀ is vacuum wavelength, c is vacuum light speed, and n is the refractive index in the simplified nondispersive model. At f = 6 × 10¹⁴ Hz in vacuum, λ = 5 × 10⁻⁷ m, or 500 nm. If the propagation speed is 2 × 10⁸ m/s at the same frequency, the wavelength becomes about 333 nm.
function wavelengthFromSpeed(frequency: number, propagationSpeed: number) {
if (frequency <= 0 || propagationSpeed <= 0) throw new RangeError("positive finite inputs required");
return propagationSpeed / frequency;
}
The helper's test fixture uses 6 × 10¹⁴ Hz and 3 × 10⁸ m/s to recover 500 nm. It also checks that reducing speed at fixed frequency reduces wavelength. These direction checks catch common inversions of the equation before they reach a color or ray diagram.
Phase is the repeating coordinate of a sinusoidal field. A difference of 2π represents the same phase, and a phase difference—not simply two amplitude values—controls interference. Polarization describes the orientation and relative phase of transverse field components; it is not a scalar “light strength” setting.
Prediction: At fixed frequency, entering a higher-index medium reduces wavelength but does not change the ideal interface's frequency.
Calculate wavelength forf = 6 × 10¹⁴ Hz at v = 3 × 10⁸ m/s and 2 × 10⁸ m/s. Predict the ratio before calculating. Then explain which field property a simple color label may hide.Wave-property code starts with units and medium assumptions. Use v = λf as a small testable contract, keep phase and polarization as distinct state, and state when dispersion or material response makes the simple conversion inadequate.
Treat the lesson as a small function before treating it as a fact to memorize. Give every value a unit, keep only the state needed for the next step, and make the output easy to inspect.
\[\text{observable output} = f(\text{inputs},\,\text{state})\]For Wave Properties of Light, write down the quantities you can control, the values your program must retain, and the result a reader could inspect. In Geometric and Wave Optics, the useful program is not the drawing: it is the smallest explicit model that makes a prediction you can test.
Prediction: changing one declared input while holding the others fixed should change only the outputs that the model connects to that input. Choose one input, predict the direction of change, then check a limiting case such as zero, a symmetric arrangement, or a familiar low-speed or small-change approximation.
This lesson is a teaching model, not a complete simulator. Before using it outside the stated question, check which interactions, scales, uncertainties, boundary conditions, and measurement limits it leaves out.
Treat Wave Properties of Light as a contract: named inputs and units enter a rule, the rule produces an observable result, and a known limit or invariant checks whether the implementation deserves trust.
Represent light with explicit wave state, units, and medium-dependent conversion assumptions.