Assignment 1: Static Variations

Design Brief

A printing firm is interested in experimenting with generative art and design and has approached you to develop software that will generate variations on a theme, such that every customer has a unique print. The designs will be printed on either apparel (e.g. t-shirts, shoes, etc.), posters or postcards. The client has proposed the following themes:

  1. Movement and Energy
  2. Balance and Harmony

You job as a designer is to select one of these themes and one or more of the product categories and develop a sketch in Processing that will generate suitable design variations that expresses that theme. You should pay careful attention to the constraints that the different types of products impose on your design.

Develop a sketch that draws a variation upon a design each time it is run. The sketch should consist of a number of variations upon a design. The design and implementation of the sketch should satisfy the following requirements:

Design Constraints

  1. up to 400x400 static image (no animation, no 3D), e.g., 400x300 for postcards
  2. no text (the imagery should convey the theme without text)
  3. no images or vector shapes may be loaded from files

Technical Constraints

The code should use the following features from Processing:

  1. Variables
  2. Randomness / Variability
  3. Conditional statements
  4. Loops (optional)
  5. Drawing commands

The static image should be created using only the drawing commands available through the Processing environment. No images or vector shapes should be loaded from external files.


The following may provide inspiration for this assignment but you should not limit your research to them:

  • Nervous System specialises in using generative processes inspired by natured to design jewellery and other items
  • Shapeways specialises in providing 3D printing technology online and has developed a number of generative design tools



Assessment Standards

You will be assessed on your ability to use the technical material covered so far in class to produce aesthetically/conceptually engaging imagery. Designs that explore a interesting theme (whether computational or otherwise) will be judged highly. PASS will be given to students who can show that they are able to produce an image that changes with each run while following the design and technical constraints above. HIGH DISTINCTION will only be given to students who can demonstrate that they can produce interesting and engaging imagery.


The assignment submission will consist of a portfolio post that includes:

  1. A sketch that shows the final version of the your design
  2. A description of your sketch, explaining the design concept together with references to inspirational material and any sketches that you developed during development

Submission of the assignment will be via Blackboard. To submit your assignment you first need to "export" you portfolio post, which will create a ZIP file. You can then upload the ZIP file to Blackboard.


    Brittany Klaassens a few years ago

    does the postcards have to be 400x300?

    Liam Bray a few years ago

    Hey Brittany,

    Yes they do! :)

    Sonia White a few years ago

    how should we attach images we would like to include in our documentation?

    David Bunton a few years ago

    Sorry Liam, d'you mind clarifying: If postcard's HAVE to be 400x300, do posters or the apparel have specific dimensions too??

    Cos the brief just says "up to 400x400", which makes it sound quite flexible as long as neither width or height goes above 400..?

    Thanks mate!

    Last Updated: 17-Apr-2016 9:11 PM
    Danielle Pontes a few years ago

    Hey Liam,

    Got a questions about functions.

    I've written a few functions that include loops and randomization. Which setup would you guys prefer to see as higher level proof of understanding the code:

    having the parameters defined within the function, which keeps everything nice and neat, or having the parameters passed into the function, which then requires me to pull the recursion loop and a variable out of the function and into the main section which look a little messy?

    This sounds crazy without any sample code, do you have an email we can reach you at so I can show you the 2 different setups of my code and get feedback on which one looks "higher level"?


    Liam Bray a few years ago

    For anyone wishing clarificaation on what a 'static image' is as opposed to 'static mode'.

    There is no functional difference between active and static modes when making a still image.

    While there is differences in code structure, you won't be penalised or credited for using active or static 'mode' to create a static 'image'.

    For example:

    void setup() { background(200,200); ellipse(10,10,20,20); }

    This is a sketch that is 'active mode' which creates a 'static image'.

    You could also use 'noLoop()' to stop 'void draw()' from repeating.

    Last Updated: 23-Apr-2016 2:01 PM