Charmaine Qiu – Project 02 – Variable Face

sketch

/* Charmaine Qiu
  Section E
  charmaiq@andrew.cmu.edu
  Project-02-Variable_Face */

var faceWidth = 200;
var faceHeight = 200;
var eyeSize = 20;
var eyebrow1 = 300;
var eyebrow2 = 300;
var mouthLeft = 230;
var mouthRight = 260;
var star = 5
var star2 = 7

function setup() {
    createCanvas(480, 640);
}

function draw() {
    background(28, 42, 87);
    //stars
    fill(255);
    ellipse(100, 100, star, star);
    ellipse(400, 400, star, star);
    ellipse(300, 200, star2, star2);
    ellipse(60, 500, star2, star2);
    ellipse(120, 450, 6, 6);
    ellipse(200, 550, 3, 3);
    ellipse(350, 160, 3, 3);
    ellipse(80, 260, 3, 3);
    ellipse(420, 70, 5, 5);
    ellipse(300, 40, 4, 4);
    ellipse(420, 580, star, star);
    //body
    noStroke();
    fill(141, 230, 73);
    beginShape();
    vertex(230, 370);
    vertex(225, 450);
    vertex(235, 440);
    vertex(250, 500);
    vertex(255, 490);
    vertex(320, 480);
    vertex(330, 485);
    vertex(320, 430);
    vertex(335, 435);
    vertex(300, 370);
    endShape(CLOSE);
    //head
    ellipse(width / 2, height / 2, faceWidth,  faceHeight);
    triangle(220, 230, 230, 200, 240, 230);
    //eyes
    noStroke();
    fill(0);
    var eyeLX = width / 2 - faceWidth * 0.25;
    var eyeRX = width / 2 + faceWidth * 0.25;
    ellipse(eyeLX, height / 2, eyeSize, eyeSize);
    ellipse(eyeRX, height / 2, eyeSize, eyeSize);
    fill(222, 45, 13);
    ellipse(eyeLX, height / 2, eyeSize / 2, eyeSize / 2);
    ellipse(eyeRX, height / 2, eyeSize / 2, eyeSize / 2);
    //eyebrows
    triangle(150, 295, 160, 290, 190, eyebrow1);
    triangle(290, eyebrow1, 320, 290, 330, 295);
    //nose
    ellipse(width / 2, height/ 2, 7, 10);
    //mouth
    triangle(mouthLeft, 400, 240, 390, mouthRight, 400);

    // strokeWeight()
    // line(200, 320, width / 2 - faceWidth * 0.25, 320);
    // line(width / 2 - faceWidth * 0.25, 320, 260, 320);

}

function mousePressed() {
    // when the user clicks, these variables are reassigned
    // to random values within specified ranges. For example,
    // 'faceWidth' gets a random value between 75 and 150.
    faceWidth = random(150, 300);
    eyeSize = random(20, 50);
    eyebrow1 = random(290, 302);
    eyebrow2 = random(290, 302);
    mouthLeft = random(220,240);
    mouthRight = random(240,260);
    star = random(2, 15);
    star2 = random(2, 15);
}

MousePressed was really fun to work with!

Charmaine Qiu – Looking Outwards – 02

Nervous System is founded by Jesse Louis-Rosenberg and Jessica Rosenkrantz. Together, the team creates designs that combines technology with art. They utilize computer simulations based on patterns in nature to generate art, jewelry, and fashion designs. The designs were further made into reality by digital fabrication. 

One of their recent projects is named Porifera done in 2018. It is a jewelry collection inspired by deep sea creatures, and the artwork is created with 3D printed ceramic material. Looking at the process and final printed products, I really admire the amount of hard work that the creators contributed towards this project. I was amazed by the amount of detail that the computer was able to generate. The pattern and movement throughout the form of the jewelry is very natural and refined, which made me wonder about the future market on digitally created and 3D printed designs. 

Here is the link to learn more about this project:

https://n-e-r-v-o-u-s.com/projects/sets/porifera/

Charmaine Qiu – Project 01 – Face

sketch

  /*
  Charmaine Qiu
  Section E
  charmaiq@andrew.cmu.edu
  Assignment 1 Self-portrait
  */


function setup() {
    createCanvas(300, 300);
    background(42, 57, 98);

//hair
    fill(47, 20, 20);
    noStroke();
    ellipse(150, 100, 170, 170);
    rect(65, 110, 169, 90);

//shirt
    fill(163, 144, 202);
    noStroke();
    ellipse(150, 305, 175, 150);

//face
    fill(255, 222, 222);
    noStroke();
    ellipse(150, 130, 130, 170);
    rect(135, 200, 30, 30);
    ellipse(100, 140, 50, 50);
    arc(150, 230, 30, 30, 0, PI, OPEN);
    ellipse(210, 290, 45, 45);
    
//Bangs
    fill(47, 20, 20);
    arc(185, 70, 120, 100, QUARTER_PI, PI + QUARTER_PI, OPEN);
    bezier(140, 40, 160, 30, 200, 30, 220, 137);

//features
    fill(0);
    arc(120, 130, 12, 12, 0, PI, OPEN);
    arc(180, 130, 12, 12, 0, PI, OPEN);
    arc(150, 170, 40, 40, 0, PI, OPEN);
    stroke(90);
    strokeWeight(4);
    line(115, 100, 125, 100);

    fill(255, 153, 153);
    noStroke();
    triangle(150, 140, 155, 150, 145, 150);
    ellipse(110, 160, 30, 30);
    ellipse(190, 160, 30, 30);
    arc(150, 185, 20, 20, PI, 0, OPEN);
    fill(150);
    rect(80, 150, 5, 13);

//hand
    stroke(255, 222, 222);
    strokeWeight(10);
    line(200, 250, 205, 270);
    line(220, 250, 215, 270);

}

Creating an illustration for the first time through coding was an unique experience.

Charmaine Qiu – Looking Outwards – 01

During the summer, I visited an interactive exhibition in Shanghai called “teamLab: Universe of Water Particles in the Tank”. The exhibition showcased a section of Japan’s “teamLab Borderless” in Mori Museum. From the exhibition, I remembered being immersed in a space surrounded by digitally animated waterfalls and flowers, yet when the viewers physically make contact with the space, flowers would boom from the surface. 

The concept of “teamLab Borderless” was to display artworks that exist without boundaries, and that viewers are invited to interact and become part of the work. This could be inspired by interactive art installations like the rain room.

This is an interactive installation created by teamLab named “Transcending Boundaries”

TeamLab is a collaborative group that consists of artists, programmers, engineers, CG animators, mathematicians and architects; together, they create artworks that connects humans with nature by embracing digital technology.

More information can be found through this link:

https://borderless.teamlab.art/