Module 1: Visuals

Processing is an easy to use programming framework for creating visual arts. We will use Processing in Python mode to create our own visual art with code. During the creation process, some of the key questions we ask are:

Project 1: Processing

Your goal is to create a new work of art with Processing in Python mode. This is an open-ended assignment - which may be an uncomfortable space for you if this is new to you. The guiding principle should be to create something that you are proud to call your own creation.

As a more concrete guide, here are some guideposts you should hit:

You do not need to have every single point here, but you should have most. If you omit anything above, be sure that there is a strong artistic motivation for not including it.

What to hand in?

How am I graded?


An example of an A+ project is here

Lecture 1:

Oct 29

Download slides for Lecture 1

In this lecture we get into the technical aspects of generative visuals. We will cover the graphics system used by processing and explore the ways in which we communicate visual instructions to a computer. We will tackle the generation of both static images and animations. One key point is to ensure that we understand performance bottlenecks and other basic issues in graphics systems, and how our code can impact the quality of our renderings.

Lab 1: Processing

Oct 30

Installing Processing. Once you have installed Processing, proceed to install Python mode. To do this, click the top right button that says Java, and then click “Add Mode”.

In this lab we have two goals: 1) getting our hands dirty with Processing, and 2) establishing the foundations for documenting work. For the first part of this lab our goal is to start with the “Yellowtail” example and modify it to additionally display text of your choice. The text size should take up the full display window, and the text should “bounce” up and down on the screen. You will want to “remix” code from Demos > Graphics > Yellowtail and Basics > Typography > FiveWaysOfWritingText.

Once you have the code working, next we will document our work. Documenting your work is one of the most important, and most neglected, aspects of computational art. This is a different type of documentation than commenting your code. We will create a video recording of that processing script being run - our goal is to document the artistic artifact. This style of documentation is complementary to technical documentation (e.g. commenting your code). There is a built-in tool to record images frame-by-frame in Processing, but it might be easier to just record a screencast using your favorite tool. Try to screencast just the display window, rather than your whole screen.

To turn in:

Post your video recording publicly, and save the link. Add that link as a comment in your code. To submit this lab, submit a .zip of your code.

Lecture 2:

Nov 5

Download slides for Lecture 2

Creativity and Code. Context in digital art. How can code itself be a visual artistic object? Can we treat code as literature? What are the core techniques used in generation of visuals. How do we define the difference between data visualization and computational art?

How do we tackle issues of artistic ownership of art generated by an algorithm? This is especially relevant in the machine learning setting, where training data was used in conjunction with code to generate new art.

In automating art, how far is too far? What is the value is automation?

In class reading:

Lab 2: Project 1 help

Nov 6

Help with the project.