my smile~
smile-portrait
//Rachel Kim
//15-104(Section C)
//rachelki@andrew.cmu.edu
//Project-01
function setup() {
createCanvas(600, 600);
background(206, 190, 231);
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
//face
noStroke();
fill(241, 196, 163);
ellipse(302, 266, 179, 257);
//neck
noStroke();
fill(241, 196, 163);
rect(272, 340, 70, 83);
//mole
noStroke();
fill(39, 45, 44);
ellipse(237, 227, 3, 3);
//eyebrow 1
noStroke();
fill(39, 45, 44);
beginShape();
curveVertex(278, 232);
curveVertex(278, 221);
curveVertex(265, 217);
curveVertex(251, 213);
curveVertex(238, 211);
curveVertex(230, 216);
curveVertex(222, 227);
curveVertex(233, 223);
curveVertex(245, 220);
curveVertex(256, 223);
curveVertex(268, 228);
curveVertex(278, 232);
endShape();
//eyebrow 2
noStroke();
fill(32, 45, 44);
beginShape();
curveVertex(305, 222);
curveVertex(306, 231);
curveVertex(319, 230);
curveVertex(334, 229);
curveVertex(349, 227);
curveVertex(362, 227);
curveVertex(370, 231);
curveVertex(378, 235);
curveVertex(375, 229);
curveVertex(366, 222);
curveVertex(356, 218);
curveVertex(340, 218);
curveVertex(327, 219);
curveVertex(314, 221);
curveVertex(305, 222);
endShape();
//eyes & eyelashes
stroke(32, 45, 44);
strokeWeight(4);
noFill();
arc(250, 250, 35, 20, TWO_PI, PI, OPEN);
arc(340, 250, 45, 20, TWO_PI, PI, OPEN);
//teeth
noStroke();
fill(255, 255, 255);
beginShape();
curveVertex(261, 331);
curveVertex(268, 342);
curveVertex(279, 350);
curveVertex(291, 355);
curveVertex(307, 355);
curveVertex(318, 351);
curveVertex(329, 346);
curveVertex(341, 335);
curveVertex(332, 336);
curveVertex(318, 339);
curveVertex(300, 341);
curveVertex(286, 339);
curveVertex(273, 336);
curveVertex(261, 331);
endShape();
//upper lip
noStroke();
fill(170, 109, 98);
beginShape();
curveVertex(258, 328);
curveVertex(262, 340);
curveVertex(268, 351);
curveVertex(275, 359);
curveVertex(286, 366);
curveVertex(303, 366);
curveVertex(317, 361);
curveVertex(330, 351);
curveVertex(338, 344);
curveVertex(343, 335);
curveVertex(333, 341);
curveVertex(320, 348);
curveVertex(307, 352);
curveVertex(294, 353);
curveVertex(282, 349);
curveVertex(271, 342);
curveVertex(264, 335);
curveVertex(258, 328);
endShape();
//bottom lip
noStroke();
fill(170, 109, 98);
beginShape();
curveVertex(258, 328);
curveVertex(267, 334);
curveVertex(278, 338);
curveVertex(294, 341);
curveVertex(308, 340);
curveVertex(323, 339);
curveVertex(334, 337);
curveVertex(343, 335);
curveVertex(338, 334);
curveVertex(328, 336);
curveVertex(316, 336);
curveVertex(303, 335);
curveVertex(293, 336);
curveVertex(286, 334);
curveVertex(274, 333);
curveVertex(265, 331);
curveVertex(258, 328);
endShape();
//hair
noStroke();
fill(39, 45, 44);
beginShape();
curveVertex(272, 101);
curveVertex(226, 134);
curveVertex(194, 187);
curveVertex(180, 257);
curveVertex(172, 306);
curveVertex(158, 345);
curveVertex(150, 391);
curveVertex(168, 440);
curveVertex(198, 508);
curveVertex(218, 541);
curveVertex(206, 585);
curveVertex(247, 570);
curveVertex(280, 541);
curveVertex(288, 504);
curveVertex(307, 464);
curveVertex(288, 413);
curveVertex(255, 375);
curveVertex(234, 345);
curveVertex(214, 292);
curveVertex(214, 249);
curveVertex(230, 195);
curveVertex(263, 153);
curveVertex(315, 138);
curveVertex(360, 167);
curveVertex(385, 226);
curveVertex(389, 288);
curveVertex(377, 337);
curveVertex(356, 371);
curveVertex(368, 421);
curveVertex(411, 421);
curveVertex(458, 405);
curveVertex(419, 391);
curveVertex(439, 349);
curveVertex(434, 300);
curveVertex(423, 253);
curveVertex(426, 203);
curveVertex(407, 157);
curveVertex(372, 113);
curveVertex(319, 97);
curveVertex(272, 101);
endShape();
}