Grace- 02- Variable Face

sketch

//Grace Cha
//Section C
//heajinc@andrew.cmu.edu
//Project-02- Variable Face

//FOREHEAD CHANGE
var foreheadX = 119;

//EYEBROW CHANGES 
var eyebrowR = 313; //RIGHT EYEBROW
var eyebrowLX = 153;//LEFT EYEBROW
var eyebrowLY = 280;//LEFT EYEBROW

//NOSE TIP CHANGES
var noseTipX = 159;
var noseTipY = 364;

//BACKGROUND COLOR CHANGE
var backgroundR = 164;
var backgroundG = 219;
var backgroundB = 247;

//FACE COLORS CHANGE
var faceR = 164;
var faceG = 219;
var faceB = 247;

// TOP LIP CHANGE
var mouthTX = 179; 
var mouthTY = 423; 
var mouthBX = 185
var mouthBY = 432;

//LIP COLOR CHANGE
var lipColor = 111

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

    background(backgroundR, backgroundG, backgroundB);

    //HAIR
    fill(215,111,97);
    stroke("#F7FCFC");
    strokeWeight(4);
    ellipse(249,247,311);
    rect(94,232,123,498);
    noStroke();
    rect(96,229,126,50);//TO HIDE THE BORDER
    
    //BACK AND SHOULDERS
    fill("#99C5DB");
    quad(435,463,307,527,262,422,346,338);
    
    //FACE 
    fill( faceR, faceG, faceB);
    beginShape();
    curveVertex(346, 320);
    curveVertex(346, 376);
    curveVertex(256, 476);//chin
    curveVertex(212, 481);//chin
    curveVertex(120, 360);//123
    curveVertex(127, 320);
    curveVertex(111, 297);
    curveVertex(foreheadX, 178);
    curveVertex(148, 209);
    curveVertex(293, 267);
    endShape();


    //LEFT EYEBROW
    beginShape();
    curveVertex(150, 304);
    curveVertex(144, 293);
    curveVertex(125, 293);
    curveVertex(125, 301);
    curveVertex(132, 313);
    endShape(); 


    //NOSE
    stroke("#F7FCFC");
    strokeWeight(6);
    beginShape();
    curveVertex(105,287);
    curveVertex(112,280);
    curveVertex(123,270);
    curveVertex(eyebrowLX, eyebrowLY);
    curveVertex(175, 303);
    curveVertex(noseTipX, noseTipY); //
    curveVertex(166,378);
    curveVertex(177,385);
    curveVertex(189,385);
    curveVertex(216,374);
    endShape();

    //EAR
	fill("#9B958F");
    noStroke();
    quad(123,682,208,451,446,436,550,640);
    noStroke();
    fill('#A4DBF7');
    push();
    translate(300,300);
    rotate(-13);
    ellipse(0,0,63,70);
    pop();

    //MOUTH
    fill(215,lipColor,97);
    beginShape();
    curveVertex(mouthTX,mouthTY);
    curveVertex(191,413);
    curveVertex(232,418);
    curveVertex(210,432);
    curveVertex(mouthBX, mouthBY);
    endShape();

    //LEFT PUPIL
    push();
    strokeWeight(4);
    fill("#9B958F");
    translate(127,303); 
    rotate(18);
    ellipse(0,0, 11, 24);
    pop();

    //LEFT EYEBROW
    beginShape();
    fill("#9B958F");
    curveVertex(150, 304);
    curveVertex(144, 293);
    curveVertex(125, 293);
    curveVertex(125, 301);
    curveVertex(132, 313);
    endShape(); 

    //RIGHT EYEBROW
    stroke("#9B958F");
    strokeWeight(9);
    beginShape();
    curveVertex(180,eyebrowR);
    curveVertex(198, 277);
    curveVertex(217, 270);
    curveVertex(234, 270);
    curveVertex(260, 282);
    endShape();

    //RIGHT PUPIL
    push();
    strokeWeight(4);
    fill("#9B958F");
    translate(206, 290);
    rotate(18);
    ellipse(0,0,11,24);
    pop();

    //RIGHT UNDER EYE 
    beginShape();
    strokeWeight(4);
    curveVertex(210, 323);
    curveVertex(219, 309);
    curveVertex(236, 305);
    curveVertex(247,305);
    endShape();
}

    function mousePressed() {

    //FOREHEAD SIZE CHANGE
    foreheadX = random(119, 140);

    //EYEBROW CHANGE (right/left)
    eyebrowR = random(190, 315);
    eyebrowLX = random(153,170);
    eyebrowLY = random(280, 290);
    
    //MOUTH SIZE CHANGE (top lip)
    mouthTX = random(50, 200); 
    mouthTY = random(403, 450);
    
    //MOUTH SIZE CHANGE (bottome lip)
    mouthBX = random(170,200);
    mouthBY = random(420,450);
    
    //LIPCOLOR CHANGE
    lipColor = random(60,111);
    
    //BACKGROUND CHANGE
    backgroundR = random(100,180);
    backgroundG = random(220, 250);
    backgroundB = random(200, 250);

    //FACE COLOR CHANGE
    faceR = random(150, 180); 
    faceG = random(200, 220); 

    //NOSE LENGTH CHANGE
    noseTipX = random(140, 159);
    noseTipY = random(360, 364);
}
 


The Process

screen-shot-2016-09-08-at-4-44-57-pm

I wanted to continue the theme of using simple shapes to design the face as my previous project; however, in this face,  I used mostly the curveVertex(); function to draw curvy linear movements to things express emotions/feelings. I was inspired by “Girl with the Pearl Earring” painting/movie. haha.  It was pretty fun playing around with the curveVertex tool!

GraceCha-LookingOutwards-2

‘Microscopic Leaps’ [2015]

(Commissioned by Pentagram based off of Nobel Laureate Eric Betzig’s work on the development of fluorescence microscopy)

Microscopic Leaps is a three-dimensional, animated view of the microscopic world that reveal complex cellular processes and forms.  It records the captivating process using artistically rendered 3d stimulations coupled with mysterious sounds.  The mixture of organic musical beats with the systemically changing motions of cells is absolutely stunning (and a little creepy).

This particular piece has two distinctive ‘algorithms’.  The first one is obviously the computer generated stimulations created from real life movements of cellular processes and the second one is the rythmic music.  The music resembles a heartbeat and matches perfectly with the way the graphics moves like a heartbeat. Pretty cool.

Screen Shot 2016-09-05 at 10.19.48 PM
3D stimulation work that inspired the creation of ‘Microscopic Leaps’ .

Microscopic Leaps was inspired by real rapid movements of a single cell protozoan T. thermophila and other cellular processes, but recreates it using more calming, approachable tones (pastel green, warm grey, liquid-like forms).  Prior real life stimulations (as shown above) were outdated in that they used very extreme bold colors with rigid movements; However Microscopic Leaps creates a certain mood of mystery with its use of unconventional colors and rhythmic sounds.


Illustration from the Stimulation

Screen Shot 2016-09-05 at 10.10.11 PM
Illustration captures from video stimulation

 

Grace-01-Face

*click to see it move 🙂

sketch

//Grace Cha
//Section C (Tuesdays 1:30)
//heajinc@andrew.cmu.edu
//Self Portrait 

function setup() {
    createCanvas(600,600);
    background(170,216,176);
}

function draw() {
    // Hair Top Part
    noStroke();
    fill(255,111,105);
    ellipse(315,245,284,264);
    // rightsidehair
    ellipse(374,275,192,264);
    // leftside
    ellipse(238,368,292,282);
    push();
    translate(162,300);
    rotate(-42);
    ellipse(0,0,186,82);
    pop();

    push();
    fill(170,216,176);
    translate(244,446);
    rotate(13);
    ellipse(0,0,224,125);
    pop();
    
    // head shape
    noStroke();
    fill(255,238,173);
    ellipse(315,274,234,234);
    
    // right ear
    ellipse(436,273,33,55);
    // left ear
    // left eyebrow
    push();
    translate(193,295);
    rotate(40);
    ellipse(0,0,42,49);
    pop();

    stroke(255,111,105);
    strokeWeight(8);
    line(322,219,343,199);
    line(343,199,370,204);
    // right eyebrow
    line(214,237,230,226);
    line(230,226,244,230);
    // bangs
    noStroke();
    fill(255,111,105);
    push();
    translate(276,171);
    rotate(110);
    ellipse(0,0,202,118);
    pop();
    // eyes shape
    stroke(124,171,129);
    strokeWeight(3);
    fill(255,238,173);
    ellipse(262,273,54,68); // left eye
    ellipse(364,256,54,68); // right eye
    
    // pupil
    noStroke();
    fill(124,171,129);
    ellipse(244,271,17,40);
    ellipse(346,255,17,40);
    noStroke();
    fill(124,171,129,90);
    // Rotate the nose ellipse.
    push();
    translate(317,308);
    rotate(12);
    ellipse(0,0,22,16);
    pop();
    
    // mouth
    stroke(255,111,105);
    strokeWeight(5);
    line(274,346,301,350);
    line(344,342,374,327);
    fill(255,111,105);
    // Lips
    push();
    translate(322,347);
    rotate(62.7);
    ellipse(0,0,59,17);
    pop();
    
    // MOVE THE EYES
    if (mouseIsPressed) { // watch the eyes move
        // mask the original pupil
        noStroke(); // deletes the original pupil
        fill(255,238,173);
        ellipse(244,271,17,40);
        ellipse(346,255,17,40);
        
        // eye stroke
        stroke(124,171,129);
        strokeWeight(3);
        fill(255,238,173);
        ellipse(262,273,54,68); // left eye
        ellipse(364,256,54,68); // right eye
        noStroke();
        fill(124,171,129);
        ellipse(279,270,17,40);
        ellipse(382,252,17,40);
    } 
}


Process Work

Processwork

I originally started out with some preliminary sketches and translated that into Illustrator where I simplified it with some rotated ellipses and got the coordinate points.  I wanted to create a mischievous side face smile using a circular theme with muted colors. Using some extensions such as ‘translate();’ ‘push();’ ‘pop();’ and ‘rotate();’ (thanks to Professor Dannenberg correction).

GraceCha-LookingOutwards-1

Random Chance – #commonflag2016


This summer, I stumbled upon a twitter hashtag called the #commonflag2016 that was an open commission by The Design Office to create a cool moving animation of a universal animated flag that could symbolically unify and represent America for flag day.  It’s a fun little doodle with a pretty interesting story behind it.


‘Random Chance’ was one of my favorites among the submissions because of its crazy American Flag animation, which flashes different color stars, background colors, and disappearing/appearing stripes. The sound-less nature makes it  Other submissions included using a mixture of placing the stars and stripes in different locations. After using the ‘random’ function in class today, this reminded me of the random changing positions of the colors, but using colors and different thickness of lines.

On this particular submission, for another iteration, I think it would be nice if the colors weren’t flashing too fast (although I think one of its charms is the quick flashing quality).  Also, the stars and stripes were in a predestined area of the screen, but it would be interesting to see how different it would look if the stars spilled out over the stripes or vice versa.


Some Other Examples of #commonflag2016 

Screen Shot 2016-09-01 at 1.42.10 PMScreen Shot 2016-09-01 at 1.42.39 PM

Some other examples utilize the creative more abstract ways of displaying their examples showing “Blurred lines, blurred identities, different shapes, overlap & unification”.


https://twitter.com/hashtag/commonflag2016?src=hash

http://thedesignoffice.org/project/the-common-flag