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 83 - Sarah

sarah-15.png

This sketch is the third in my series honouring modern Indigenous artists, and today I’m exploring the work of mixed-media artist Sarah Sense. Sarah creates photo-weavings with the traditional Chitmacha and Choctaw techniques of her ancestors, using both her own photography, and found imagery to pay homage to the disparate cultures, histories, and heritages that influence her artistic identity. Sarah spent her summer vacations on the Chitimacha Reservation in Charenton, Louisiana where she worked among the community and fell in love with the art of basket weaving. After receiving the blessing of Alton D. LeBlanc Jr, the then-chairman of the Chitimacha Tribe, to weave tribal baskets using nontraditional materials, Sarah established her unique and provocative style and her work has been exhibited around the world.

My version here pales in comparison to Sarah’s, but I do like the impact created by randomly “weaving” two images together.

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 the Legacy of Hope Foundation (LHF), a national charitable organization with the mandate to educate and create awareness and understanding about the Residential School System and the intergenerational impacts of the removal of generations of Indigenous children from their families. The LHF supports the ongoing healing process of Residential School Survivors and their families, while trying to address racism, foster empathy and understanding, and inspire action to improve the situation of First Nations, Inuit, and Métis Peoples today. You can donate to Legacy of Hope here.

Sketch:

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


Drawings:


Code:

function setup() {
  createCanvas(700, 700);
  noStroke();
}

function draw() {
  noFill();
  s=int(random(2,15));
  
  let portraits = [img51, img52, img53, img54, img55, img56, img57, img58, img59, img60, img61, img62, img63, img64, img65, img66, img67, img68, img69, img70, img71, img72, img73, img74, img75, img76, img77, img78, img79, img80, img81, img82, img83, img84, img85, img86, img87, img88, img89, img90, img91, img92, img93, img94, img95, img96, img97, img98, img99];
  
  let landscapes = [img1, img2, img3, img4, img5, img6, img7, img8, img9, img10, img11, img12, img13, img14, img15, img16, img17, img18, img19, img20, img21, img22, img23, img24, img25, img26, img27, img28, img29, img30, img31, img32, img33, img34, img35, img36, img37, img38, img39, img40, img41, img42, img43, img44, img45, img46, img47, img48, img49, img50];

  let photo1 = random(portraits);
  let photo2 = random(landscapes);
  
  let x1 = random(width / 2);
  let y1 = random(height / 2);
  let pix = photo2.get(x1, y1);

  background(photo2);
  
  for(x=int(random(0,500)); x<int((random(500,700))); x=x+s*2){
    blend(photo1,x,0,s,700,x,0,s,700, NORMAL);
  }
  
  for(y=int(random(0,500)); y<int((random(500,700))); y=y+s*2){
    blend(photo1,0,y,700,s,0,y,700,s, NORMAL);
  }
  
  fill(255,100);
  rect(0,0,700);
  noLoop();
}

function keyReleased() {
  if (keyCode == ENTER || keyCode == RETURN) {
    loop();
  }
}

Chelsea Watson