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 82 - Caroline

caroline-7.png

Continuing my week exploring Indigenous art, and today I’m inspired by the work of Caroline Monnet, an Algonquin-French contemporary artist and filmmaker known for her work in sculpture, installation and film. Caroline grew up between the Celtic coasts of France in Douarnenez and the Algonquin territory of Outaouais, Québec, and much of her work explores her Algonquin and French dual heritage. I’ve chosen to focus on her Tipi Moderne series, through which Caroline contemplates the role of the tipi in modern society, asserting the ever-growing presence and strength of ancestral values as they continue to move throughout the ages and into the future.

As part of my series this week I’m also going to be showcasing various Indigenous organizations and, since you’re here, I encourage you to learn more about them and consider donating should you have the means to do so. Today I want to highlight Indspire, a national charity that invests in the education of First Nations, Inuit and Métis people for the long term benefit of these individuals, their families and communities, and Canada. Their vision is to enrich Canada through Indigenous education and by inspiring achievement. In partnership with Indigenous, private and public sector stakeholders, Indspire educates, connects and invests in First Nations, Inuit and Métis people so they will achieve their highest potential. You can donate to Indspire here.

Sketch:

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


Drawings:


Code:

countH = 0;
countV = 0;

function setup() {
  createCanvas(700, 700);
  background(248);
  noStroke();
  angleMode(DEGREES);

  rsH = random(10, 35);
  rvH = random(50, 650);
  x1H = -100;
  y1H = rvH;
  x2H = -100;
  y2H = rvH + rsH;
  x3H = rsH - 100;
  y3H = rvH;

  rsV = random(10, 35);
  rvV = random(50, 650);
  x1V = rvV;
  y1V = -100;
  x2V = rvV + rsV;
  y2V = -100;
  x3V = rvV;
  y3V = rsV - 100;

  rT = int(random(3, 6));
  rotV = random(-2, 2);
  rotH = random(-2, 2);
}

function draw() {

  //horizontal strip
  push();
  rotate(rotH);
  let shades1 = ["#FFC9B7", "#FF774A", "#942809", "#260600", "#260600", "#260600", "#260600", "#260600", "#D4EAC4"];
  let shade1 = random(shades1);
  cS1 = color(shade1);
  fill(cS1);

  triangle(x1H, y1H, x2H, y2H, x3H, y3H);

  let shades2 = ["#FFC9B7", "#FF774A", "#942809", "#260600", "#260600", "#260600", "#260600", "#260600", "#D4EAC4"];
  let shade2 = random(shades2);
  cS2 = color(shade2);
  fill(cS2);
  
  triangle(x1H + rsH, y1H + rsH, x2H + rsH, y2H - rsH, x3H - rsH, y3H + rsH);
  
  x1H = x1H + rsH;
  x2H = x2H + rsH;
  x3H = x3H + rsH;
  pop();

  //vertical strip
  push();
  rotate(rotV);
  let shades3 = ["#FFC9B7", "#FF774A", "#942809", "#260600", "#260600", "#260600", "#260600", "#260600", "#D4EAC4"];
  let shade3 = random(shades3);
  cS3 = color(shade3);
  fill(cS3);
  
  triangle(x1V, y1V, x2V, y2V, x3V, y3V);
  
  let shades4 = ["#FFC9B7", "#FF774A", "#942809", "#260600", "#260600", "#260600", "#260600", "#260600", "#D4EAC4"];
  let shade4 = random(shades4);
  cS4 = color(shade4);
  fill(cS4);
  
  triangle(x1V + rsV, y1V + rsV, x2V - rsV, y2V + rsV, x3V + rsV, y3V - rsV);
  
  y1V = y1V + rsV;
  y2V = y2V + rsV;
  y3V = y3V + rsV;
  pop();

  //horizontal strip  
  if (x3H > width + 100) {
    rsH = random(10, 35);
    rvH = random(50, 650);
    rotH = random(-10, 10);
    x1H = -100;
    y1H = rvH;
    x2H = -100;
    y2H = rvH + rsH;
    x3H = rsH - 100;
    y3H = rvH;
    countH = countH + 1;
  }

  //vertical strip  
  if (y3V > width + 100) {
    rsV = random(10, 35);
    rvV = random(50, 650);
    rotV = random(-10, 10);
    x1V = rvV;
    y1V = -100;
    x2V = rvV + rsV;
    y2V = -100;
    x3V = rvV;
    y3V = rsV - 100;
    countV = countV + 1;
  }


  //vertical strip  
  if (countV == rT) {
    rsV = random(0);
    rvV = random(0);
    x1V = rvV;
    y1V = 1000;
    x2V = rvV + rsV;
    y2V = 1000;
    x3V = rvV;
    y3V = rsV;
    countV = countV + 1;
  }

  //horizontal strip 
  if (countH == rT) {
    rsH = random(0);
    rvH = random(0);
    x1H = 1000;
    y1H = rvH;
    x2H = 1000;
    y2H = rvH + rsH;
    x3H = rsH;
    y3H = rvH;
  }

}

Chelsea Watson