One of the many awesome things about being a Barbarian is having the opportunity to spend time on non-client art projects. A perfect example is the installation we created for the McLeod Residence, a Seattle art gallery. Early on in the creative process we focused conceptually on a theme of magnetism. For the interactive portion of the exhibit we decided to create biomimetic butterflies, an idea we'd been discussing internally for quite a while. Fellow Barbarian Chandler McWilliams devised a clever method using rare earth magnets and hidden stepper motors which allowed paper butterfly wings to flap using no visible mechanics. We set out to create seven "species" of butterfly, each characterized by a different algorithm for the wing design, and to mount and display specimens as an entomologist might.
For two of the designs Robert Hodgin and I collaborated. He wrote code based on the equations for the motion of charged particles to generate a data set of point distributions within the boundaries of butterfly wings. I used his distributions as the sites for a series of voronoi diagrams. In order to give the voronoi edges thickness, I generated offset polygons from the voronoi faces as opposed to using the voronoi edges directly. We also create a second variation which fit second-order B-Splines to the voronoi cells to create curved interiors.
Ever since reading Greg Turk's wonderful streamline visualization paper I've been interested by the algorithms used to visualize vector fields. The butterfly wings presented the perfect opportunity to use some old vector field visualization code I'd written without any particular purpose. I coupled it with a fluid simulator coded for another project to create vector fields which respected the boundaries of the butterfly wings. The results were miniature "weather systems" inside the wings which we rendered in a manner similar to the curved arrangements of arrows meteorologists use to visualize the weather. A second variant fit circles along the flow instead of curved lines.
A fifth wing variation used systems of randomly generated lines and circles placed at the intersections in combination with some polygon offsetting and union code.
Chandler designed two additional systems, a recursive cracking algorithm based on polygonal centroids and an implementation of traditional randomized circle packing.
One of the interesting design challenges for the wings came from the constraints inherent to laser cutting. We essentially needed to obey the rules of stenciling, never creating an "island" in any of our layouts, and we designed our algorithms accordingly. Each was achieved using some combination of C++, Processing, Python, Maya and Illustrator. The final output was a batch of vector files which were given to a laser cutting facility to be etched out of paper. The results were incredibly delicate, intricately patterned wings like the ones above.
For each of these algorithmic families, we mounted 7 pairs of printed specimens in a column above a pedestal. Inside each pedestal was an additional laser-cut specimen able to flap its wings via the magnetically induced motion of the hidden stepper motor. The entire installation was driven by a Mac mini connected to a webcam and some electronics Chandler built using Arduino. Robert wrote a Processing application which monitored visitors' movement in the room and caused the butterflies to flap their wings based on the proximity of observers.
In the end the entire installation was a great success, and we had an exceptional time creating it. We even finished with 6 minutes to spare, as Robert has documented in his blog. Oh, and checkout the mirrors we made for the bathrooms, and the prints we made for the lightboxes too.
Special thanks to Robert, Chandler and Rick, whose images I have shamelessly pilfered to create this write-up.