Many thanks to the author of this applet, Michael Schierl.