Project: Self Portrait

selfportrait
function setup() {
    createCanvas(250, 250);
    background(220);
    text("p5.js vers 0.9.0 test.", 10, 15);
}

function draw() {
    //background ceiling
    fill(255, 164, 83);
    noStroke();
    quad(0,0,114,70,250,71,250,0)

    //background back wall
    fill(255, 139, 35);
    noStroke();
    rect(114,70,249,248);

    //background front wall
    fill(255, 177, 108);
    noStroke();
    quad(1,0,115,69,116,249,0,221)

    //ponytail
    fill(35, 25, 15);
    noStroke();
    beginShape();
    vertex(186,86);
    vertex(197,87);
    vertex(206,99);
    vertex(209,121);
    vertex(204,145);
    vertex(199,165);
    vertex(192,185);
    vertex(192,205);
    vertex(207,226);
    vertex(192,221);
    vertex(174,212);
    vertex(165,201);
    vertex(159,186);
    endShape();

    //right shoulder
    fill(163, 103, 146);
    noStroke();
    beginShape();
    vertex(163,188);
    vertex(189,204);
    vertex(212,215);
    vertex(229,219);
    vertex(250,226);
    vertex(250,250);
    vertex(157,250);
    vertex(165,208);
    endShape();

    //left shoulder
     fill(153, 98, 138);
    noStroke();
    beginShape();
    vertex(72,191);
    vertex(112,249);
    vertex(0,249);
    vertex(0,222);
    vertex(21,213);
    vertex(45,204);
    endShape();

    //ear
	fill(227, 180, 156);
    noStroke();
    beginShape();
    vertex(174,119);
    vertex(189,114);
    vertex(199,119);
    vertex(197,136);
    vertex(194,150);
    vertex(186,165);
    vertex(176,175);
    vertex(164,174);
    vertex(174,146);
    vertex(175,131);
    endShape();

    //ear shadow
    fill(181, 132, 99);
    noStroke();
    beginShape();
    vertex(180,123);
    vertex(189,121);
    vertex(194,125);
    vertex(193,134);
    vertex(188,144);
    vertex(183,156);
    vertex(175,158);
    vertex(184,144);
    vertex(185,133);
    endShape();

    //neck
    fill(227, 180, 156);
    noStroke();
    beginShape();
    vertex(159,176);
    vertex(133,194);
    vertex(93,204);
    vertex(71,194);
    vertex(97,227);
    vertex(102,250);
    vertex(158,250);
    vertex(171,224);
    vertex(174,202);
    vertex(163,190);
    endShape();
    
    //face
	fill(235, 186, 161);
    noStroke();
    beginShape();
    vertex(102,29);
    vertex(74,45);
    vertex(66,63);
    vertex(61,84);
    vertex(55,101);
    vertex(49,121);
    vertex(48,141);
    vertex(55,160);
    vertex(62,176);
    vertex(69,193);
    vertex(73,209);
    vertex(87,217);
    vertex(107,217);
    vertex(135,204);
    vertex(155,189);
    vertex(171,164);
    vertex(176,138);
    vertex(179,116);
    vertex(184,90);
    vertex(182,68);
    vertex(170,50);
    vertex(139,34);
    vertex(123,28);
    endShape();
    
    //nose shadow
    fill(181, 132, 99);
    noStroke();
    beginShape();
    vertex(91,96);
    vertex(93,107);
    vertex(90,121);
    vertex(86,135);
    vertex(80,140);
    vertex(74,144);
    vertex(74,151);
    vertex(80,156);
    vertex(72,170);
    vertex(64,146);
    vertex(80,125);
    vertex(85,109);
    vertex(76,88);
    endShape();

    //nostril shadow
    fill(170, 122, 90);
    noStroke();
    beginShape();
    vertex(80,155);
    vertex(87,152);
    vertex(90,158);
    vertex(97,161);
    vertex(106,156);
    vertex(113,160);
    vertex(91,172);
    vertex(72,170);
    endShape();

    //right cheek shadow
    fill(181, 132, 99);
    noStroke();
    beginShape();
    vertex(122,145);
    vertex(122,153);
    vertex(118,159);
    vertex(112,159);
    vertex(134,179);
    endShape();

    //left eyelash
    fill(0);
    noStroke();
    beginShape();
    vertex(55,108);
    vertex(65,103);
    vertex(74,103);
    vertex(82,106);
    vertex(88,115);
    endShape();

    //lips
    fill(227, 149, 147);
    noStroke();
    beginShape();
    vertex(71,171);
    vertex(82,169);
    vertex(90,170);
    vertex(93,172);
    vertex(100,171);
    vertex(109,171);
    vertex(127,178);
    vertex(116,183);
    vertex(101,187);
    vertex(89,187);
    vertex(77,179);
    endShape();

    //top lip
    fill(214, 124, 122);
    noStroke();
    beginShape();
    vertex(71,171);
    vertex(82,169);
    vertex(90,170);
    vertex(93,172);
    vertex(100,171);
    vertex(109,171);
    vertex(126,177);
    vertex(117,179);
    vertex(102,179);
    vertex(90,178);
    vertex(81,176);
    endShape();

    //nose highlight
    fill(242, 198, 169);
    noStroke();
    circle(92, 150, 22);

    //right cheek highlight
    fill(242, 198, 169);
    noStroke();
    beginShape();
    vertex(162,115);
    vertex(150,130);
    vertex(141,136);
    vertex(133,142);
    vertex(144,160);
    vertex(152,184);
    vertex(165,157);
    vertex(165,131);
    endShape();

    //left cheek highlight
    fill(242, 198, 169);
    noStroke();
    beginShape();
    vertex(83,123);
    vertex(65,119);
    vertex(56,114);
    vertex(55,128);
    vertex(65,150);
    vertex(74,136);
    endShape();

    //left eye
    fill(255, 243, 235);
    noStroke();
    beginShape();
    vertex(58,110);
    vertex(67,107);
    vertex(75,108);
    vertex(88,117);
    vertex(79,118);
    vertex(69,115);
    endShape();

    //left iris
    fill(59, 43, 24);
    circle(71,111,12);

    //left pupil
    fill(0);
    circle(71,111,6);

    //right eyelash
    fill(0);
    noStroke();
    beginShape();
    vertex(106,118);
    vertex(116,112);
    vertex(130,111);
    vertex(141,117);
    vertex(145,123);
    vertex(128,123);
    endShape();

    //right eye
    fill(255, 243, 235);
    noStroke();
    beginShape();
    vertex(110,119);
    vertex(122,115);
    vertex(130,116);
    vertex(141,121);
    vertex(132,122);
    vertex(117,122);
    endShape();

    //right iris
    fill(59, 43, 24);
    circle(127,119,12);

    //right pupil
    fill(0);
    circle(127,119,6);

    //left highlight
    fill(255)
    circle(69,109,2)

    //right highlight
    fill(255)
    circle(125,117,2)

    //hair
    fill(45, 33, 18);
    noStroke();
    beginShape();
    vertex(153,40);
    vertex(168,43);
    vertex(181,52);
    vertex(185,64);
    vertex(188,76);
    vertex(187,87);
    vertex(183,104);
    vertex(180,119);
    vertex(175,130);
    vertex(167,128);
    vertex(161,109);
    vertex(154,96);
    vertex(147,86);
    vertex(147,72);
    endShape();

    //bang shadow
    fill(181, 132, 99);
    noStroke();
    beginShape();
    vertex(58,80);
    vertex(55,94);
    vertex(94,95);
    vertex(104,80);
    vertex(110,95);
    vertex(146,102);
    vertex(161,118);
    vertex(161,95);
    vertex(97,64);
    endShape();

    //bangs
    fill(59, 43, 24);
    noStroke();
    beginShape();
    vertex(110,25);
    vertex(95,20);
    vertex(71,29);
    vertex(55,59);
    vertex(58,84);
    vertex(87,91);
    vertex(102,70);
    vertex(106,84);
    vertex(115,95);
    vertex(159,108);
    vertex(161,68);
    vertex(156,46);
    vertex(146,27);
    vertex(136,21);   
    endShape();

    //left eyebrow
    fill(45, 33, 18);
    noStroke();
    beginShape();
    vertex(55,89);
    vertex(75,88);  
    vertex(91,96);
    vertex(89,103);
    vertex(73,94);  
    vertex(55,92);
    vertex(55,89);    
    endShape();

    //right eyebrow
    fill(45, 33, 18);
    noStroke();
    beginShape();
    vertex(110,100);
    vertex(128,99);
    vertex(144,102);
    vertex(154,110);
    vertex(158,115);
    vertex(135,106);
    vertex(109,106);
    endShape();

    //bright cheek highlight
    fill(255, 225, 197);
    noStroke();
    triangle(153,124,133,138,146,158)

    //left cheek blush
    fill(226, 159, 158);
    noStroke();
    circle(64,131,20);

    //right cheek blush
    fill(226, 159, 158);
    noStroke();
    circle(135,142,25);

    //right lens
    fill(255, 255, 255, 60);
    stroke(10);
    strokeWeight(2);
    circle(125,128,45)

    //left lens
    fill(255, 255, 255, 60);
    stroke(10);
    strokeWeight(2);
    circle(68,118,40)

    //nose piece
    arc(96, 118, 18, 8, 0, PI, PI + QUARTER_PI);

    //frame
    line(146,121,187,113);

    //bright nose highlight
    fill(255, 225, 197);
    noStroke();
    circle(100,149,10)

    //lip highlight
    fill(247, 200, 206);
    noStroke();
    ellipse(104, 180, 8, 3)



}

Leave a Reply