PROJECT-01 (FACE)

SELF PORTRAIT
function setup() {
    smooth();
    createCanvas(1400, 1000);
    background(232, 232, 228);
}


function draw() {

    // BG
    noStroke();
    let w = random(175, 1200);
    let l = random(150, 850);
    let r = random(200);
    let blue = [135, 206, 250];
    let yellow = [255, 219, 88];
    let red = [255, 64, 64];
    let cols = [blue, yellow, red]
    fill(random(cols));
    circle(w, l, r);

    // eye whites
    x = 825
    fill(255);
    rect(200, 250, 150, 200);
    rect(200+x, 250, 150, 200);
    bezier(200, 450, 200, 600, 350, 600, 350, 450);
    bezier(200+x, 450, 200+x, 600, 350+x, 600, 350+x, 450);
    // eyes
    noFill();
    stroke (0);
    strokeWeight (10);
    line(200, 250, 200, 450);
    line(350, 250, 350, 450);
    bezier(200, 250, 200, 100, 350, 100, 350, 250);
    bezier(200, 450, 200, 600, 350, 600, 350, 450);
    line(200+x, 250, 200+x, 450);
    line(350+x, 250, 350+x, 450);
    bezier(200+x, 250, 200+x, 100, 350+x, 100, 350+x, 250);
    bezier(200+x, 450, 200+x, 600, 350+x, 600, 350+x, 450);
    // eye colors
    stroke(0);
    fill(242, 246, 197);
    bezier(185, 575, 200, 525, 350, 525, 365, 575);
    bezier(185+x, 575, 200+x, 525, 350+x, 525, 365+x, 575);

    // pupil
    fill(0);
    ellipse(240, 325, 80, 110);
    ellipse(240, 410, 80, 110);
    ellipse(310+x, 325, 80, 110);
    ellipse(310+x, 410, 80, 110);

    // eyelid colors
    noStroke();
    fill(242, 246, 197);
    rect(195, 250, 160, 40);
    rect(195+x, 250, 160, 40);
    stroke(0);
    bezier(195, 250, 195, 100, 355, 100, 355, 250);
    bezier(195+x, 250, 195+x, 100, 355+x, 100, 355+x, 250);
    // eyelids
    stroke(0);
    line(195, 290, 355, 290);
    line(195, 250, 195, 290);
    line(355, 250, 355, 290);
    noFill();
    line(195+x, 290, 355+x, 290);
    line(195+x, 250, 195+x, 290);
    line(355+x, 250, 355+x, 290);

    // eyebrows
    fill(0);
    rect(125, 130, 300, 80, 40, 40, 40, 40);
    rect(125+x, 130, 300, 80, 40, 40, 40, 40);

    // nose
    fill(242, 246, 197);
    bezier(700, 525, 850, 505, 850, 630, 700, 610);

    // lip colors
    fill(255, 64, 64);
    noStroke();
    bezier(275, 700, 150, 700, 150, 850, 275, 850);
    bezier(275+x, 700, 400+x, 700, 400+x, 850, 275+x, 850);
    rect(275, 700, 825, 150);
    // mouth
    stroke(0);
    line(275, 700, 275+x, 700);
    line(275, 775, 275+x, 775);
    line(275, 850, 275+x, 850);
    noFill();
    bezier(275, 700, 150, 700, 150, 850, 275, 850);
    bezier(275+x, 700, 400+x, 700, 400+x, 850, 275+x, 850);


}

Leave a Reply