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 36 - Woven Threads

woven-threads-16.png

This. Program. Takes. Forever. To. Run.

I had a thought to do a little woven pattern but wanted to make it a bit wonky by adding some noise, then made it a bit too wonky to the point it looked like chest hair. I’m all for chest hair but it just got a bit unsettling. I found a happy medium with some controls to manipulate the wonky, and keeping the vertical lines consistent. I had these running all day in the background as I worked as, like I mentioned, they take FOREVER to draw. I likely could have tried playing around with the wonky a bit more, but I need to step away from the screen and get on with my evening! If you try it out for yourself, by all means. I warned you!

Sketch:

https://editor.p5js.org/chelseamwatson/present/TS8ibASn4

  • 1-6: changes the level of wonky in the horizontal lines


Pseudocode:

  • Draw a vertical line starting in the top left corner, centring it vertically on the canvas

  • Draw more vertical lines, spacing each 2-6 pixels horizontally from the line before

  • Draw a horizontal line starting in the top left corner, centring it horizontally on the canvas

  • Draw more horizontal lines, spacing each 2-6 pixels vertically from the line before

  • Stop drawing lines when the vertical line nearly reaches the end of the horizontal lines

  • Make the lines be just off straight, with the ability to make the horizontal lines really wonky


Drawings:


Code:

x = 150;
y = 50;
a = 145;
b = 55;
xoff = 0;
wonky = 2;

function setup() {
  createCanvas(700, 700);
  background(245);
  noStroke();
  fill(0,200);
}

function draw() {
  
  xoff = xoff + 0.02;
  let n1 = noise(xoff) * 2;
  let n2 = noise(xoff) * wonky;
  
  let r1 = random(2,6);
  let r2 = random(2,6);
  let r3 = random
  
  ellipse(x+n1,y,1);
  y=y+1;  
  
  ellipse(a,b+n2,1);
  a=a+1;

  if (y >= 645+r1) {x=x+r1; y=45+r2;}
  if (a >= 550+r2) {b=b+r2; a=140+r1;}
  if (b >= 640) 
  if (x >= 545) 


function keyPressed() {
  if (key == "1") 
  if (key == "2") 
  if (key == "3") 
  if (key == "4") 
  if (key == "5") 
  if (key == "6")  

Chelsea Watson