Processing Time
Posted by Chris Ball Sun, 03 May 2009 15:28:00 GMT
Madeleine and I took part in the Processing Time code jam yesterday, and won a prize! Processing is a programming language for creating data visualizations, which Mad's been using to create graphs for papers recently. Our entry was a program that takes a description of a tree (in Newick format) and draws it, allowing you to zoom in to explore large trees.The example we used, and the motivation for creating the program, was the phylogenetic tree of life. Since creating this comic, Mad's wanted a way to create a zooming interface to explore the same, but we didn't get around to it until we were put in the setting of having four hours to code and then present something. It was a lot of fun; I did the boring part of walking a tree recursively, and Mad worked out the geometry for a radial graphing algorithm that splits points along the edge of a semi-circle equally between end leaves of the tree.
For now, the code's in this Processing sketch archive, but we're hoping to make an applet out of it soon. Hat tip to the authors of TreeJuxtaposer, whose Newick format parser we used.
Here's the obligatory screenshot — zoomed in on part of the mammals section — which isn't very exciting since the whole point is to explore the tree interactively:
Thanks to the organizers and other participants for such a fun day; it's great to be given motivation to work on something fun, and lovely to be recognized for it too.
