This real-time wave propagation demonstration allows you to creatively explore many effects, which are both beautiful and thought-provoking.
see Wave demo link

Technical information:

We have coded this to exploit the power of GPUs, so that it runs smoothly on most PCs and laptops, and also can work on mobiles. You should note that the size of the screen is only a hundred wavelengths (so that you can see interference effects clearly), which means that all focussing and optical refraction effects are shown in the near field (though they work on this scale).

You can draw emitters (left 2 boxes), absorbers, mirrors, and refracting elements. Size is set by the slider.

You can save the object patterns that you draw, so that you can retrieve them later.

If you want to make sources at selected locations, start Waves+sources and select the box ‘Source type’ as None, so that you can draw what you want.