Tech @ TK‎ > ‎

Processing 2014

Generative Art and Probability

Generative Art uses probability to create patterns.  The process moves according to predetermined algorithms and the artist will never know exactly how it is going to look when it is complete. 

Mozart used this idea with his "Musikalisches Würfelspiel" (Musical Dice Game) in 1757.  He created a series of musical phrases and rolled dice to determine the order in which they would be played.  Author William Burroughs did something similar in some of his writing, cutting up sections of text and rearranging them randomly.  Artists from many different genres have explored ways to incorporate randomness to make their art more interesting.

Artist Ellsworth Kelly often used chance as he selected colours and rearranged shapes on the canvas.

Computers are excellent tools for creating generative art.  Users can write simple programs to create autonomous systems that generate beautiful patterns.  Those patterns are different every time the program is run.

This piece, called Substrate, was created by Jared Tarbell.  You can visit his website and run the program to generate a new version of the image.

Generating your own (optional) with Context Free Art

This piece of generative art was created using a digital tool called Context Free Art.  It is a very simple programming language where the user writes a program that incorporates simple rules based on probability.  When the program runs, it draws images on the screen.  Because some of the instructions in the program include random elements, the images will be different every time the program is run.

Visit the gallery and see some of the artworks that other users have created using this program.  You may want to download a copy of the program and install it on your computer. It's very easy and fun!

To get started making our own generative art, you can follow this simple tutorial that will walk you through the basic grammar of Context Free Art.  It should not take you long to get the hang of it.

Once you have finished the 10 steps in the tutorial, start playing around with the numbers.  See what happens when you make changes.  For example, when drawing the pattern in the tutorial, it curves one way 98% of the time and curves the other way 2% of the time.  How does the pattern change when you change those values?

Taking it further

There are a number of good text-based tutorials available on the Context Free Art website.  There is a lot of information there to help you get started with using more complex shapes and patterns.  Another good set of tutorials that starts with the basics can be found at Magic and Love Interactive.

The Project

Another great programming language that allows you to make generative art is called Processing.  There is an enormous collection of resources available to get you started, including books, videos and websites.  Processing is popular as an introductory programming language in high schools and universities.  Websites such as OpenProcessing and StudioSketchpad are popular places for artists to share their work.

Daniel Shiffman's Savannah was written in Processing and incorporates a digital camera to generate remarkable patterns from photographs that it takes of viewers.

For this project, we will explore ways in which we can learn new things by deconstructing things that other people have made. In this case, we will look at computer programs that other programmers have written in Processing. By experimenting with their code, we can uncover a lot about how it works and we can learn how to use it ourselves. 

Each of you will create your own unique piece of Generative Art using code that you have found in artworks created by other people. Your final project will incorporate code from at least 3 projects that you have found online. You will explain where you got the code, why you chose it and how you used it.

Criterion A: Inquiring and Analysing

i. Explain and justify the need for a solution to a problem.

Write a short paragraph explaining Generative Art. Since this is a piece of artwork, the primary target audience is you. Include your own thoughts and feelings.

ii. Construct a research plan, which states and prioritizes the primary and secondary research needed to develop a solution to the problem.
iii. Analyse a group of similar products that inspire a solution to the problem.

Present some examples of Generative artworks that you have found (at least 3) and explain what you like about each one. Be as specific as you can. What makes this an example of Generative Art? What sorts of feelings do you think each one conveys? Provide some juicy adjectives here. (This will help you later when you make your own.) You are expected to use some of the same terminology that we used in the previous unit (ie shape, space, colour, contrast, balance, symmetry etc...) Consider the interactive elements of the works you found as well. Do they run automatically? Does the user have a way to influence the pattern by interacting with it in some way?

iv. Develop a design brief, which presents the analysis of relevant research. 

Explain what you plan to create and why. (Since this is a piece of assigned artwork, this will be pretty similar for most of you.)

Criterion B: Developing Ideas

i. Develop a design specification which outlines the success criteria for the design of a solution based on the data collected.

Most of these will be similar for all of you. It will be generated by a computer. It will be written in Processing. etc. But there are some things that will be individual. What emotions do you want to convey? Give some adjectives to express the thoughts and feelings you want to get across to the viewer.

ii. Present a range of feasible design ideas, which can be correctly interpreted by others.

What shapes, colours etc... do you want to include? How will the user interact with it? Explain your choices and offer justification based on the thoughts and feelings you are trying to express. 

iii. Present the chosen design and outline the reasons for its selection. 

In this section, you should provide at least 3 code snippets that you have taken from other people's work. Explain the function of each one and why you chose it. THIS IS A VERY IMPORTANT SECTION TO COMPLETE!

iv. Develop accurate planning drawings/diagrams and outline requirements for the creation of the chosen solution.

Provide a pencil drawing/diagram showing what you imagine your work will look like. At the end, we will compare this with your final project to see how close you were able to come in realising your vision.

Criterion C: Creating the Solution

i. Construct a logical plan, which outlines the efficient use of time and resources, sufficient for peers to be able to follow to create the solution.

You can take care of this by including detailed comments in your program that explain what each line does. Remember, two backslashed (//) for single line comments. /* ... */ for multiple line comments.)

ii. Demonstrate excellent technical skills when making the solution.

This will be measured by the quality of your final work. To what extent did you personalise this work? Did you just copy/paste the code together, or did you make significant changes, demonstrating that you understand what it does and how it can be modified?

iii. Follow the plan to create the solution, which functions as intended and is presented appropriately.
iv. Explain changes made to the chosen design and the plan when making the solution.

Compare the drawing you did at the end of the Developing Ideas phase to what you have now. How close is it? Why?

Criterion D: Evaluating

i. Describe detailed and relevant testing methods, which generate accurate data, to measure the success of the solution.

For this project, I want you to gather and summarise feedback on your finished artwork. 

ii. Explain the success of the solution against the design specification.

Since this is a piece of artwork, this section will be highly personal. Just one well-written paragraph.

iii. Describe how the solution could be improved.

Be specific. What changes would you make to improve it? After exams, you will have a chance to improve this so what you write here is very important. The things you say you would like to change, you will have to figure out how to do.

iv. Describe the impact of the solution on the client/target audience.

How do you feel about the process that you went through to create this piece of artwork? Recall the conversation we had at the start. This unit is really about how we learn. You had to do a lot of this on your own. Do you like to learn this way? Why or why not?