Processing Sketches

I have wanted to do something with Processing ever since I learned of its existence.

From the Processing website:

Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context

The idea of a software sketchbook, or an “electronic sketchbook” as Wikipedia puts it, is particularly enticing to me. My first interest in learning to control computers stemmed from the potential I saw in them to be used as artistic implements. My impression was (and still is) that there is a lot of unexplored territory in the intersection between computers and art. I suspected this might be because of the limited overlap between people with technical knowledge and those with artistic inclinations. Artistic intention definitely preceded technical ability in my case, but somehow once I started to learn about programming and the web I became distracted by new goals like creating web apps and solving Project Euler problems. It’s interesting how common applications of technology are inadvertently learned alongside technologies themselves. My education taught me not only how to write HTML, but also that websites for poker or real estate listing are standard uses for it. I learned that C++ is good for games development and Perl is good for CGI scripts and LISP is good for AIs, and I wanted to try making all of those suggested things because they are also fun and interesting. I think that any of these tools could be used to make art, but what I like about Processing is that it volunteers to be used for that purpose. Having that intention built into the programming language’s environment helps keep me in the right mindset if nothing else.

A friend and I were recently talking about programming as the process of constantly making and correcting mistakes and the consistent feeling of failure that haunts you as a consequence. So far my experience making doodles and sketches in Processing has been a refreshing departure from that kind of programming. Although some mistakes I made along the way felt like failures – like when my code wouldn’t run at all – often when I did unintentionally coded something that wasn’t my intention it felt more like a discovery than a failure. I might write a loop around one thing when I meant to write it around another, but the result would be interesting and lead me down a path that I wouldn’t have followed if it hadn’t been for my inaccuracy. The programming environment played a role not entirely unlike that of water in watercolour painting, removing a degree of control and introducing a level of unpredictability that was seredipitous as often as it was frustrating.

All of these doodles were based on this pointilism example from the Processing website. The idea behind them (besides simply trying out Processing) was to incorporate a “natural” level of visual variation that falls somewhere between the (pseudo) random and strictly deterministic patterns that are most easily generated by computers. To achieve more “natural” patterns I incorporated data sets from the natural or human world.

You might label these “data-driven doodles”. I googled “data-driven art” and the results seemed to be consistent with what I was thinking of – visual works that are generated from data sets but which prioritize aesthetics over communication of data (the google search also turned up this super interesting article about a different interpretation of the phrase “data-driven art”).

In this first sketch, the colours of the dots (which are of uniform size and randomly scattered about the canvas) are derived from the pressureNet data set that I wrote about in my last post. I chose a blue as the base colour for the dots and used the atmospheric pressure reading from each dot’s corresponding data point to determine the amount of green to add to the dot’s colour.

show sketch

The second sketch is generated the same way as the first except the sizes of the dots are also randomized.

show sketch

The third sketch randomizes the amount of green added to each (again, initially blue) dot and uses its corresponding atmospheric pressure reading to determine the size of the dot.

show sketch

The next sketch also uses random placement, uniform size, and a base colour of blue for the dots. The data set this sketch uses is the text of Pride and Prejudice. Each dot corresponds to a character (as in letter, number, or punctionation mark – not a person in the story) from the text, and the ASCII code of that character determines the amount of green added to the dot’s colour.

show sketch

The next sketch is a bit more complicated. Again, the placement of the dots is random and the size is uniform. The data behind this one is my 2013 NaNoWriMo novel, or specifically the occurences of characters (this time referring to the people in the story) within it. I made a spreadsheet of all my main cast members and their aliases, nicknames, etc and assigned each person a base colour. Each dot in the sketch corresponds to the occurence of one of my cast members’ names and is coloured accordingly. The colour gets diluted in accordance to how far down the list of the character’s aliases the given name appears. For example, if I was a character assigned the colour purple and my list of aliases was [“Natalie”, “Nat”, “brain_box”], then each occurence of “Natalie” in the text would create a vibrant purple dot, each occurence of “brain_box” would lead to a more dull purple dot, and each occurrence of “Nat” would create a dot with a purple colour halfway in between the vibrant and the dull purples.

show sketch

The last sketch doesn’t incorporate a data set like the others, but rather an existing image (a collaborative doodle made by me and my friend Helen).

The size and location of the dots are randomly generated, but the colours of the dots are taken from random pixels in that image.

show sketch