Easyphysics
Simulation courtesy of
Flash Learning
Diffraction