Noodling With Nodebox

September 4th, 2010     Reading time 2 min

I like to dabble with visually interesting stuff, and I've been a big fan of the Python programming language for many years, so it's nice to combine the two for fun and nerdly excitement with Nodebox. I can recapture the some of the thrill from trial and error programming with the infamous LOGO turtle I did as a child, but in a flashier manner with Nodebox.

A range of neat Nodebox libraries allows for doing different, perhaps more contemporary things with it than the spirographs and such I used to make back in the day with LOGO.

Edges & Nodes & Graphs (oh my!)

Nodebox is a really neat project that combines the Python programming language with cool highly visual libraries, and PDF image or QuickTime movie output options for generative art and visualization awesomeness.

Using the Nodebox Graph library, one can construct cool network diagrams, complete with neat-o sounding terms, like node, edge, and eigenvector — how cool is that?!

Don't let all that crazy math nerd talk scare you though. What this means is that Nodebox can make cool maps of Twitter networks, or random bits of trivia on a controversial and/or timely topic such as in the above example.

The Nodebox interface is very simple. Code is input at top right, and the output appears at left. Logging output appears at bottom right.

In the above example, we can see use of the Nodebox Web library to grab the most popular colors searched for on Kuler, and render randomly sized ovals in those colors.

Visual tomfoolery

The Nodebox website is full of cool examples of what can be done with it on the site's gallery page, where I found examples using Core Image that I tinkered with to produce the following images in a matter of seconds.

The images in this section are comprised of a set of 17 photographs of a longboarding sliding session. Iterating over the image set with a simple bit of code algorithmically produces hundreds of wild composited variations.

The variations which were most striking or unusual are shared here. Most of them have the same wild spiral starburst tendencies, which I found to be quite visually interesting.

Of course, combining other styles of images with adjustments in the code could produce and endless variety of striking compositions. One could even experiment with dynamic compositions based on external environmental inputs as well.

The Core Image library provides an unlimited amount of visual experimentation and can be used to programmatically create some pretty fantastic imagery.

People who are so-called visual thinkers should delight in the possibilities Nodebox offers.

What else?

There are numerous other Nodebox libraries for everything from databases, to devices so if you're going to work with it do check those out. Also be sure to check out the tutorials provided on the website as well.

Nodebox 3?!

The examples shown in this article all use Nodebox version 1, which is still available, but a gnarly thing such as Nodebox doesn't rest on its laurels, and you'll be delighted to know that a third version of Nodebox is now available!

Nodebox 3 features a refined interface, with drag and drop building of generative art and other Nodebox-y stuff, and looks to be extremely fun.

If you're into visually interesting stuff and cool coding with Python, go check out the Nodebox projects today.

Have fun!


This is a personal website comprised of personally held opinions. All content provided on this website is for informational purposes only. Brian Shumate makes no representations as to accuracy, completeness, suitability, or validity of any information on this website and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. Terms are subject to change at any time and without notice.

F694 4B5C AC91 63BF E4ED F805 8A71 9EF1 2051 27B8

This is my current personal GPG public key fingerprint and QR code link to my public key on the MIT PGP keyserver.Joseph Brian Shumate GPG key fingerprint