Project 2

From Expressive Computing


Project 2: Computational Drawing

For this project, you'll create a Processing sketch that either automatically generates visual art, or facilitates the creation of visual art. The focus of this project is on the creativity of the process you devise, not on your technical proficiency (in either computer programming or visual aesthetics). You'll be working in groups of two or three members. With your group, select from one of the two options below.

Option A: Drawing Tool

Create a program that translates user input into visual output. Limit yourself to the keyboard and the mouse as input devices. Your constraint: Use the mouse and/or keyboard in an unexpected way. Identify one generally recognized affordance of either the mouse or the keyboard, and either avoid taking advantage of that affordance, or actively work against it. (Questions to ask yourself: What function might moving the mouse have, other than changing the position of a cursor in 2D space? What can a keyboard do other than display letters on the screen in response to the user's keystroke?)

Your documentation should consist of the Processing sketch itself (plus source code), and a number of stills/screenshots of finished pieces made with your drawing tool. (Optional, but nice: video screen captures of the tool in use, narrative feedback on the tool from people outside your group, etc.)

Possible inspirations:

Option B: Algorithmic Drawing with Chance

Using Processing, create a computer program that generates an unlimited set of visual compositions. Your program should interact with the user only minimally, if at all. (I.e., unlike option A, the user's input should not determine the program's output.) Use chance operations (as discussed in Week 3) to determine at least one aspect of the composition.

We'll discuss two types of algorithms that make for compelling visual compositions in class (e.g., cellular automata and self-similar recursive drawings), but I encourage you to seek out (or apply from other classes) algorithms that might be interesting when translated to the screen.

This option is a refinement of option B from Project 1. (One possible starting point for your project might be to take your program from Project 1 and translate it into Processing.)

Possible inspirations:

Tons more inspiration

... can be found at the Processing Exhibition (especially the collection).

Processing Resources