A telescope's image of a star is never a perfect point — it is the star's light diffracted by the shape of the mirror's opening (the aperture). This pattern is the telescope's point spread function (PSF), and in the Fraunhofer (far-field) regime it is exactly the squared magnitude of the 2D Fourier transform of the aperture's transmission function:
PSF(θ) = | F{ A(x,y) } |²
A(x,y) = 1 inside the open mirror area, 0 in the gaps and struts
This simulator builds A(x,y) from a real 19-segment hexagonal mirror (JWST-style) with its inter-segment gaps, adds the secondary-mirror support struts you configure, computes a genuine 2D Fast Fourier Transform of that aperture on every change, and renders the result as the star's simulated image — the six long spikes come from the three pairs of parallel hexagon-gap edges (each edge orientation throws light into a line perpendicular to itself); the strut arms add their own thinner spikes.
Rayleigh resolution: θ_R = 1.22 λ / D
Strut diffraction: θ_sp ≈ λ / w (w = strut width)
- Mirror diameter — bigger D shrinks the central core (sharper resolution) without changing the spike directions.
- Wavelength — every diffraction angle scales with λ, so red light spreads both the core and the spikes further than blue light.
- 3 vs 4 struts — JWST's tripod strut mount is why its images show 6 large spikes; a 4-strut "+" mount (like Hubble's) instead throws light into 8 shorter spikes.
- Strut width — a thinner strut diffracts light through a wider angle (θ ≈ λ/w), so thin struts make long faint spikes and thick struts make short bright ones.
- Core encircled energy — the fraction of the total diffracted light landing inside the Airy-core radius; struts and segment gaps steal light from the core and throw it into the spikes, so this number drops as the aperture gets more obstructed.