ASS­I­G­N­M­E­N­T 1 - jsp­y­4­5­7­9

by Julia Spyrou

Assignment One - Static Variations

My inspiration

My inspiration for my static variation came from simply opening Windows Media Player and looking at the visualisations when a song played. When I looked at the visualisations, I saw alot of vibrant colours, a variety of moving shapes and other imagery that is rendered and synchonised to the song playing.

How does it Relate to the Design Brief?

The design brief is to 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 either a movement & energy theme or a balance & harmony theme. I thought that the Windows Media Player Visualisations perfectly matched the movement and energy theme because the animating imagery highly reflects sound energy and movement on the screen as a song plays.

Some Examples of Screenshots

YouTube link

My Design Process

  • I wanted to draw simple shapes clustered together to make my variation interesting and effective. I first decided to modify the "Noise Code" from Tutorial 6 to cluster the rectangles and vary the length of each one to create a sound wave like image.
  • Then to improve these noisewaves and to make it more colourful, I then copied the same code and then changed the length and size of the rectangles of the first code to overlap the orignal code.
  • Then I wanted to introduce circles because they were quite predominant in the visualisations. So I decided to create three functions in my code; 1) ellipses, 2) circles, 3) noisewaves. Adding functions to my code would enhance the sophistication of my code. So I randomly drew circles and ellipses around my canvas with the use of recursion and controlling the colour and opacity of these shapes with the random function as below:
  • After adding these functions to my code, I thought that the overlapping of the circles and ellipses were overpowering the image of the soundwaves. So I made the decision to add a conditional statement to control the two functions as I wanted the main focus of the static variation to be the soundwaves to suit the theme. The if else statement checks if a random number (in this case I used 10) divided evenly, then to iterate the circles function for loop and contrastingly if odd, to iterate the ellipses function for loop. I set the floating point height and width numbers to be random so that the shapes were evenly distributed on the canvas. My final code demonstrates this change below:
  • Show Sketch
/** @peep sketchcode */
void setup() {
size(400, 300); //postcard size
background(0); //black
  if (int(random(10)) % 2 == 0){ //calling a different background function based on eveness of number
    for(int i = 0 ; i < 10; i++){
      float x = random(width); 
      float y = random(height);
      circles(x, y);
    for(int i = 0; i < 10; i++){
      float x = random(width);
      float y = random(height);
//function to call circles()
void circles(float x, float y) {
  stroke(random(255), random(255), random(255), random(150));
  fill(random(255), random(255), random(255), random(10));
  for (int d = 10; d < 100; d += 5) {
    ellipse(x, y, d, d);
//function to call ellipses()
void ellipses() {
  stroke(random(255), random(255), random(255), random(100));
  fill(random(255), random(255), random(255), random(0));
  for (int y=5; y<height; y+=50) { //for loop to position the circles
    for (int x=5; x<width; x+=40) {
      ellipse(random(x-5), y+5, 10, random(50));
// function to call noise()
void noises() {
float inc = 0.1; 
stroke(random(300), random(300), random(300), random(300), 20);
fill(255, 60); 
for (int x = 0; x < width; x += 4) { 
  float n = noise(x * inc) * 70.0; 
  rect(x, random(50,80 + n), 3, random(40)); 


Nobody has said anything yet.