I recall an old program for Mac OS 8 that was strange in a number of ways. I don't even know the name of it (does anyone remember?). For one thing it took over the entire screen, very unmac-like. But it achieved a fascinating trick. It was entirely bare bones: no save feature, no nothin'. Its effect was magical though: it morphed a series of pictures you gave it. I spent some time playing with it to figure out how it worked.
Then I came across dynadraw when I was absorbed with BeOS. The program dynadraw was ported to BeOS to demonstrate Be's API. I applied the above morphing idea to dynadraw. It worked! I never published it though. I don't think I had web space at the time. My infatuation with BeOS subsided when Be was overlooked by Apple for NeXT.
I found this port of dynadraw to OpenGL/GLUT on Mac OS X by Nicholas Zambetti. I implemented my morphing code. I also added a means of fiddling with the mass, drag, and pen-width. The application is entirely bare bones in the spirit of its original inspiring application. It prints a basic usage on a terminal window, and brings up a window you can draw in.
Here is the source code: dynamorph-2007-07-28.tgz
Here is the darcs repository: dynamorph
It currently only compiles without issue under Mac OS X, but I'm sure it would just be a matter of mucking with the Makefile to make it compile under Linux and even Windows.