Project 1: Generative and Algorithmic Exploration

Marius Watz - Arc Drawings 001

Generative art often involves simple rules that yield complex results. This work is not static but a system that generates new output each time it is invoked, oftentimes reacting to randomization or outside information. Similarly, algorithmic art refers to art that uses a pre-existing set of instructions to generate its content.

In this project you will create a set of pieces that will explore the ideas of repetition and transformation. The use of modularity and repeating patterns as well as filtering and transcoding (describing one form of information with another type of presentation) will provide interesting options for exploration. Instead of sketches that create singular expressions of your code, you should write sketches that generate their result in response to a predefined algorithm or set of instructions. Your code should be responsive to randomization or streams of input.

An interesting example that shows how specific code structures or more abstract sets of instructions can be used is seen in Casey Reas' Process Compendium (individual program output is found here). Watch the Process Compendium (Introduction) video below:



Using Reas’s work as a loose model, formulate a minimum of three rules for your project that explore the ideas of repetition and transformation. You should use the same rules in creating three different interpretations in three different Processing sketches for this project. It is expected that as each Processing sketch is run, it should have a categorically different result than the others.

Choose two of the topic areas outlined below:

Additional requirements:

Where to Begin?

Start by sketching ideas in your sketchbook about what your rules could be and what output they might generate. Do not think in representative terms of "drawing a face" or "this is a town" but more abstractly in how the forms and shapes might look and/or interact.

Simple example rule set:

  1. 2 elements: circles & lines
  2. behavior 1: lines connect the circles
  3. behavior 2: mouse position controls circle size

From these rules, one possible idea might be:

sketch idea 1

This project allows you to take an exploratory approach in creating a visualization or experimental construction. It is a chance to explore areas further than we were able to in class. This will take research on your part using the book, the examples in Processing, and looking at sketches from other web sites such as those listed under "Inspiration" above.

Note: You are not limited to what we have covered so far! More advanced ideas may require looking ahead at the "Objects" & "Arrays" chapters in the book as well as the Processing reference.


Deliverables for Project 1 will be in two stages: prototype & the presentation of finished work.


Due due: 10/3

Project 1

Due date: 10/12

How to Turn in Your Work

Bring a USB key or external hard drive you can use to transfer a copy of your deliverables onto the lab computer at the front of the room. Your work should be in a subfolder named with your last name in all lowercase ie. wilcox. Copy this folder into a folder with the class name on the Desktop. You should do this at the beginning of class, as soon as you come in.

When turning in Processing sketches, make sure that you include the main folder for each sketch as well as the .pde files and data folder within. You can find these in the default Processing sketchbook location which is usually in your Documents folder named Processing. Also, it is important that the name of the sketch folder match exactly with that of the sketch .pde file aka what you saved the sketch as in Processing.

A good layout might be:

lastname/Idea sketch.jpg

The following is bad. Note the lack of Sketch folders as everything was just dumped into the lastname folder:

lastname/Idea sketch.jpg

^ This will result in Processing complaining during your presentation when you try to open the sketch files. Embarrassing!