Printing Code

Computational Art

Here is one of the few effective keys to the design problem — the ability of the designer to recognize as many of the constraints as possible — his willingness and enthusiasm for working within these constraints. Constraints of price, of size, of strength, of balance, of surface, of time and so forth.
— Charles Eames

Print pieces are usually made with tools like Illustrator, InDesign or Coreldraw. But what if you used code as your primary design tool? This question is answered in NYU’s ITP class “Printing Code”, taught by Rune Madsen. The course covers the basics of graphic design with an extensive look at some of the great designers and computational artists of our time (for example Paul Rand, Sol Lewitt, John Maeda, Karl Gerstner and Josef Albers). The class was not meant to teach complex programming, but rather to produce great designs in the simplest possible implementation within tight constraints. 

The images below show various prints based on weekly assignments that were completed for the class in spring of 2013. All prints were designed using Processing and printed on Matte Fine Art paper. 

Working under tight constraints often produces the most creativity. There was no better way to learn this than with the assignment to draw an ice cream cone using nothing but the functions triangle(), rect() and ellipse(), each once. 

Certain forms represent certain things.  The goal of this assignment was to write a sketch that outputs two shapes on the page, one inspired by the word “wet”, the other by the word “sharp”. Constraints were a mandatory use of beginShape() and all points had to be drawn in a for loop.

Color theory is an important part of graphic design. The task was to create an abstract representation of your identity using color. Focusing on one color scheme, the only constraint was that the colors had to be different every time the sketch ran. 

We used the Toxiclibs library to design typefaces. As with a lot of the assignments, the challenge here was to design a typeface that was better constructed in code than in a classical design program like Illustrator.

One of my favorite assignments was ‘Grid Systems’. The task was to redesign a book cover for a book of our choosing. The only constraint was to use a grid system to position all the elements on the page. I chose to design a book by one of my favorite authors, Haruki Murakami, titled “The Wind-Up Bird Chronicles”. 

Logos take a lot of fine tuning and are a lot more complicated than sometimes suspected. I was asked to redesign a logo using all the skills acquired up to that point in the class. As an avid snowboarder I took to redesigning the Ride Snowboards logo. Though I actually like the original logo, it never felt fun and dynamic enough for a sports brand. Instead of changing it completely, I decided to expand it and created a set of randomly chosen snowboarder figures to accompany the logo. Below is the original on top, and below that the new variations of the logo. 

A lecture on ‘Randomization’ led to the assignment to take an existing piece of art and reproduce it by making it change every time the sketch runs. I choose to reproduce Mondrian’s “Broadway Boogie-Woogie”, which I found very fitting seeing as the ITP program is located on Broadway. 

For the final project I decided to redesign the album cover of The National’s EP “Cherry Tree”. I wanted the cover to represent the songs on the album, literally. So I decided to write a sketch that would use information from the song directly to influence the sketch differently from song to song. It’s easy to pull volume and frequency out of a song and use the data, so that’s what I decided to do. Below are various versions of the sketch based on the song that was used as input. Though the differences are subtle, you can see the colors and alignments of the triangles change in each print.