So a few weeks ago, before he went surfing in Morocco, m’colleague Alper reported in an elaborate fashion on the project he and I did for the artist Sarah van Sonsbeeck. If you’re into data visualization and information design and you haven’t read it already, I encourage you to do so right now. I thought I’d post some additions and comments to Alper’s post here, going into some details related to working with 3D graphics in Processing, aesthetic considerations, and some other bits.
Dealing with 3D in Processing
As Alper writes, part of what we were doing involved generating a 3D landscape from the sound volume and location data Sarah had gathered. What I found was that working with 3D in Processing can be cumbersome, especially with regards to camera controls. I had a hard time getting a sense of the 3D model we were generating, since the camera controls I had at my disposal were limited and a hassle to use. I can imagine that if you do this kind of work a lot, you have a kind of container Processing sketch that has all the camera controls in place. I didn’t, so ultimately I decided to go to a tool that had all the camera controls already: Google SketchUp. I could have gone to a more professional tool such as 3ds Max or Maya, but SketchUp is freely available and suited me fine. Using Marius Watz’s unlekkerLib, I exported the geometry of our landscape to a DXF file and imported it to SketchUp and that was that.
SketchUp is fine for manipulating and exploring a 3D model, but its rendering left something to be desired. It had been a while since I dabbled in 3D graphics (back in art school, making games) but I did recall that global illumination rendering yields pretty pictures. Sarah had told us from the outset that above everything else, it was important for the output of our exercise to be aesthetically pleasing. According to her, in the art world, beauty is paramount. So I did some Googling (as one does) and bumped into Sunflow. Karsten Schmidt had experimented with using Sunflow as a renderer directly from Processing, but this library turned out to be outdated for the current version of Processing. There is however, a Sunflow exporter for Sketchup. So I used Sketchup to set up the basics of the scene I wanted to render (camera angle and such) exported and then manually edited the resulting Sunflow file. The Sunflow wiki was a great help for understanding the anatomy of the Sunflow file format. In addition, this page, which shows examples of many shader settings, was very helpful when it came to figuring out the materials we ended up using. A snow-like material with a “sun sky” light, which makes the whole thing look like Antarctica, seemed like a good fit for the subject; silence.
Alper rightly points out neither of us is a graphic designer. But this does not mean certain aesthetic considerations came into play during this project. For instance, towards the end, we had renderings of the landscape floating above an infinite plane, as if it’s an object of sorts. I felt this did not do justice to the concept we were pursuing, so we eventually decided to merge the mesh with the underlying plane. We achieved this by simply adding a band of average noise level around the datascape and regenerating it. Optically, thanks to the nice illumination in Sunflow, there is no border between the landscape and the plane that recedes to the horizon.
There’s more to be said about this project but I feel like wrapping up. A few final words with regards to the utility of this piece as data visualization then. I think from this perspective it is practically useless. As a piece of graphic art that provides a visceral sense of the data gathered by Sarah during her walks however, I think it is quite successful. Keep in mind she’s used this as part of another publication, where a set of annotations is overlaid on it.
I would also love to do an interactive version of this, allowing for free movement through the 3D space, as well as additional information layers with annotations by the artist and geographic context. Who knows, we might come around to this some time.
But for now, this is it: a picture of a landscape, generated from silence.