Chernoff Faces are a way of graphing multivariate data in a way which is easily discerned by humans, due to their ability to perceive minute differences in facial characteristics. This method of graphing multivariate data was first proposed in 1973 by Herman Chernoff, in "The use of faces to represent points in k-dimensional space graphically", Journal of the American Statistical Association, 68:361-367.
This applet was written way back in the Dark Ages (c. 1994) as a fun side project to learn the Java applet environment, and yet it still seems to work. I did repackage the files into a single .jar file, but that hardly counts for much as modification. Over the years, it has been one of the things that continually draws people to my site, mostly college computer science students following links from their online syllabi, so I've taken a little time to clean up the site and hopefully bring it up to date with 21st century markup, styles, and a bit of filthy lucre.
I got the idea from what was originally an AfterDark screensaver plugin, now updated for MacOS X, written by Brad Mohr - I liked it, but wanted it cross-platform :-), and at the time I was working primarily on Solaris, so I wrote it in Java. Brad does a better job of explaining Chernoff Faces, so I figure I'll let him. Another good reference is "Computers, Pattern, Chaos, and Beauty", by Clifford Pickover (ISBN: 0-312-06179-X).
John Wiseman has his own Java applet, which is much cleaner than mine. See? Dennis Chao has a great South Park take on the Chernoff Face.
Another site that mentions my applet belongs to Matthew Ward. I'm no longer surprised when I see referer logs with lots of '.cs' referrerrs in my logs. (If you are in Matthew's class, ask him to fix his links to my site, though. The old .shtml links haven't worked in years. Thanks!)
I originally started with the code (from Develop #6, a Macintosh developer's magazine) written by Dave Johnson. I ran into some trouble due to the differences between the way QuickDraw and Java handle Rectangles, so at first I tried to re-implement the QuickDraw routines used in Dave's code, but eventually gave up on most of them and rolled my own Java-based version.
My pre-dot-com-bust dream was to spin off my own company and sell Screensavers for Netscape Navigator. ;)
Faces made it into the dead-tree edition of the Gamelan Directory. Unfortunately, it was printed just before I quit Imonics, and so it still has the old email address, etc. Anyway, I got a screen shot and everything :^) If you're one of the four people who found Faces via the book, let me know.
Enough hype. On to the show, or on to the code.