I’ve been playing with the 3-d modelling and rendering package, Blender, which is immensely powerful and versatile, especially considering that it’s free.
Having spent a significant fraction of my teenage years reducing objects to geometric forms by hand, laboriously typing them into a text editor one polygon at a time*, waiting 13 hours for POV ray to render them in photo-realistic and electrics-frying detail only to discover that I had neglected to add any lights to the scene and was thus greeted with a black and empty screen… having done that, it is a joy to discover that this level of stupidity can now be reproduced in mere minutes, seconds even.
Anyway, enough with the reminiscence.
Blender is based on Python so, as well as having a GUI, you can also interact directly with the things you’ve built with custom Python scripts to automate the creation, manipulation and animation of 3-d and 2-d things. You can then easily go back in and tweak things to make them look nice. This means it’s relatively easy to import data and use the range of powerful visualisation tools to turn it into things like this:
which is based on HadCRUT4 data. It’s pretty, or at least, not the way you are used to seeing the data, which has its own charm (although I’ve a loooong way to go to match this charming thing of odd beauty produced by Philip Brohan).
The internal engine of Blender is also easily capable of throwing around and shading several millions of polygons in real time. It doesn’t look as pretty as the above, but it does look good and I can see it being quite useful for actual on-the-fly data visualisation. e.g. this, which actually manages to look worse than the real time rendering.
There are also tools for exporting the results to Web-GL which would allow the same kind of exploration in a browser, which would be cool.
The technology is interesting in its own right, but my real interest is in how we can use this to help people** muck about in the data, or to bring out certain aspects of the data. Putting the data into a 3-d context immediately suggests interesting physical interpretations of the data
as well as other avenues to explore:
and new revenue streams/alternative career paths:
The question is how to turn this into something interesting and/or useful? Obviously one can animate the passage of time in various ways. The months drop in from above in my lo-fi video, but there are lots of different ways to build up that block of pixels, or to tear it down or carve it up. I thought it might be a nice way to show hovmuller plots – like carving a sunday roast – because it’s easy to see the relationship between space and time. You could also easily isolate regions and show how they evolve individually.
If you do have any interesting ideas, let me know in the comments.
*did wonders for my trigonometrical skills too.
** everyone, but mostly me.