Project: Randomized Pattern

Due Thursday March 4 

Create a geometric pattern with elements of randomness combining nested for loops, transformations, conditionals, and the random function.

This is an image-making assignment: don’t make it animated or interactive, a new pattern should be generated upon click.

Follow this tutorial for a template.

Look for inspirations for geometric patterns in art and design.

Check the 10print challenge prompting people to reimagine the famous one line program:

Another use of random: randomize 4 possible shapes (including no shape)

 

var grid = 40;
function setup() {
  createCanvas(400, 400);
  background(0);
 
  for (var r = 1; r < width/grid; r++) {
    for (var c = 1; c < height/grid; c++) {
      
      var rnd = round(random(0, 3));
      print("my random number is "+rnd);
      
      if(rnd == 0) {
        noStroke();
        ellipse(c * grid, r * grid, 10, 10);
      }
      if(rnd == 1) {
        noStroke();
        rect(c * grid, r * grid, 10, 10);
      }
      
      if(rnd == 2) {
        stroke(255);
        line(c * grid, r * grid, c * grid+grid, r * grid+grid);
      }  
    }
  }
}

 

Exercise

Starting from this simple template add randomness to create images like the ones below. Also go through the loop+if exercises if they are not 100% clear.

var grid = 40;

function setup() {
  createCanvas(400, 400);
  background(0);
  noStroke();
  
  for (var r = 1; r < height/grid; r++) {
    for (var c = 1; c < width/grid; c++) {
      ellipse(c * grid, r * grid, 10, 10);
    }
  }
}

 

Anni Albers Second Movement – 1978

Jared Tarbell – Quarter Round