Processing is a language for visualization implemented in Java which runs on desktops or embedded in web pages. There is now even an implementation of processing that runs entirely in javascript.

Mudcrack visualizes the aggregation of nanoparticles suspended in a thin layer of solvent. I like to think of it as the complexity of watching paint dry, or not dry, depending on the parameters given.