It all started with a diagram in the JASPER project logs that didn't quite look right. The angle subtraction geometry for the diffraction grating felt ambiguous, leading to a rabbit hole of second-guessing and a quick post over on Reddit to see if the community could untangle it. A helpful comment pointed toward a deeper truth: if you really want to understand gratings, stop thinking purely in right triangles and start looking at them from Fourier space.
That advice sparked a dive into reciprocal lattices, Bloch waves, and vector formulations. But rather than just taking someone's word that "vector mechanics and trigonometry are the same thing," let’s build the actual bridge between them.
The Diagram That Started It All

When dealing with real-world layouts, getting the sign conventions right for angle subtraction matters immensely. If your angles are on the same side of the normal, you subtract them; if they're on opposite sides, you add them. But why does the math behave this way? To find out, we have to look at the boundary through the lens of electrodynamics.
The Fourier Space Perspective: Bloch Waves and Momentum Matching
Periodic structures—whether an array of micro-grooves or nanophotonics particles—impose discrete spatial periodicities. From a rigorous standpoint, every electromagnetic field interacting with a periodic grating must obey Bloch's theorem. When you expand the grating's spatial profile into a Fourier series, periodicity naturally translates into discrete momentum contributions in reciprocal space. In wavevector terms, the parallel component of the outgoing wavevector isn't arbitrary; it is shifted by a discrete reciprocal lattice vector
This component-based formulation
is fundamentally the exact same concept as the classical grating equation, expressed as momentum conservation.
The 2-Line Bridge: From Fourier Space to Trigonometry
For a Hackaday audience, equations are best when you can trace them back to something you can plug into a spreadsheet. Let's look at the x-components of our wavevectors in 1D to see how Fourier space collapses back into the classic formula.
Start with the reciprocal lattice condition:
Substitute the wavevector magnitudes
in terms of angles relative to the normal
and the grating period
Divide the entire expression by 2*pi / λ and rearrange, and you arrive right back at the familiar form:
Just like that, abstract Fourier-space momentum matching resolves cleanly into the trigonometry we use on the benchtop.
Practical Takeaways for Spectrometer Design (e.g., JASPER)
1. When to use trigonometry: For a standard 1D VIS-NIR spectrometer layout where light stays strictly in-plane (perpendicular to the grooves), the classical equation
is efficient and accurate. Handling angle subtraction properly keeps your layout geometry straightforward.
2. When vector mechanics matter: If you move away from simple in-plane designs into conical diffraction geometries (out-of-plane scattering), or if you need to calculate rigorous diffraction efficiencies and polarization-dependent behaviors, the full vector/reciprocal lattice approach becomes essential.
Tony Francis
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.