An exploration of waves
Source code
available.