100x100 Computational Design Challenge

Throughout 2020 I created 100 computational designs in 100 days as a way to learn creative coding and explore generative art

Day 97 - Hand Building

handbuilding-3.png

March 12, 2020 was my last normal day. I went to the office like usual, had meetings, chatted face to face with colleagues, made plans for the following week with friends. After work, I had my last pottery class for the winter session. It was my second hand building course and I had signed up for the spring session, meant to begin a few weeks later. I went to the old art school to pick up my remaining fired pieces and do some glazing. On my way home I figured I should stop at the grocery store to pickup a few things blissfully unaware I was walking into chaos. Shelves were empty, lineups went around the store, people were covering their faces as best they could. I panicked. I grabbed what I could carry, stood in line for an hour, and went home to the news that the office would be closed indefinitely. We were officially in lockdown. I wasn’t all that good at pottery (see a few examples below), but I really enjoyed making something with my hands, chatting with folks around the table, seeing what came from our successes and what emerged from our mistakes. I hope to get back to it some day but, until then, I have these (largely structurally unsound) digital sculptures to help dream up some ideas to bring to life with clay.

Sketch:

https://editor.p5js.org/chelseamwatson/present/ggNWL-UQt


Drawings:


Code:

xoff = 0;
i = 3;
y1 = 550;
x1 = 350;

function setup() {
  createCanvas(700, 700);
  background(238, 237, 233);
  noFill();
  strokeWeight(20);
  r = random(0, 200);
  g = random(0, 200);
  b = random(0, 200);
  s = random(300, 500);
  h = random(150, 300)
}

function draw() {

  xoff = xoff + 0.004;
  n = noise(xoff) * 2;

  if (y1 > 540) {
    stroke(245, 203, 174);
  } else if (y1 < 540 && y1 > s) {
    stroke(238 + (18 * n), 228 + (18 * n), 222 + (18 * n));
  } else if (y1 < s) {
    stroke(r * n, g * n, b * n);
  }
  rad = random(50, 500);
  var angle = TAU / rad;
  var x = 10 * (sin(angle * i) * rad);
  i = i + 0.01;

  if (x * n < 100) {
    loop();
  } else {
    ellipse(350, y1, x * n, x * n / 3);
    y1 = y1 - 1;
  }

  if (y1 < h) {
    noLoop();
  }
}

Chelsea Watson