Do you remember playing with spiral graph toys, like Spirograph®? In those types of toys, you'd have fun drawing spirals with toothed gears that fit inside rings (or that sometimes rode on the outside of a ring).
What you probably didn't think at the time was, "Gee, I wonder what would happen if we create an abstraction of this toy, then extend it to simulate the combination of many gears, some of which don't even need to be bound by the realities of physics - they can be larger than the gears they sit in, or they can rotate in any direction."
It turns out that if you do think this way, and then develop a bit of software to test your ideas (using the hot-off-the-press HTML5 and ProcessingJS, in this case), you'd have an interesting new toy on your hands.
You'd also be able to create some pretty cool spirals: