var offset=35
function setup() {
createCanvas(600, 600);
background(255, 255, 255);
}
function draw() {
//rectangle(0,0,600,600);
fill(100,150,255);
noStroke()
quad(0,0,0,600,150,600,150,0);
quad(600,0,600,600,600-150,600,600-150,0);
quad(600,600,0,600,0,400,600,400);
quad(600,0,0,0,0,200,600,200)
//face
stroke(25);
strokeWeight(8);
ellipse(150,280,5,15);
ellipse(600-150,280,5,15);
noStroke();
fill(221,190,140);
quad(150,430,240,550,600-240,550,600-150,430);
quad(150,430,150,330,190,330,190,430); //
quad(190,330,200,340,200,430,190,430);
quad(200,340,600-200,340,600-200,430,200,430);
quad(600-150,430,600-150,330,600-190,330,600-190,430);
quad(600-190,330,600-200,340,600-200,430,600-190,430);
quad(260,340,270,330,270,430,260,430);
quad(600-260,340,600-270,330,600-270,430,600-260,430);
quad(270,340,600-270,340,600-270,200,270,200);
quad(150,330,150,200,190,200,190,330);
quad(150,330,150,200,190,200,190,330);
quad(600-150,330,600-150,200,600-190,200,600-190,330);
quad(150,200,600-150,200,600-150,290,150,290);
//quad(150,430,150,200,600-150,200,600-150,430);
stroke(25);
strokeWeight(3);
line(150,430,150,200);
line(150,430,240,550);
line(240,550,600-240,550);
line(600-150,430,600-240,550);
line(600-150,430,600-150,200);
noLoop()
//nose
stroke(25);
strokeWeight(4);
fill(226,180,113);
ellipse(300,400,50,50);
noStroke();
fill(221,190,140);
quad(250,400,350,400,350,350,280,350);
//mouth
stroke(25)
fill(226,134,113);
ellipse(300,470,100,50);
line(300-50,470,300+50,470);
noStroke();
fill(221,190,140);
quad(240,468,360,468,350,430,250,430);
//Hair
fill(0)
quad(270,220,290,160,490,140,450,200);
quad(270,220,290,160,480,100,450,200);
quad(270,220,290,160,450,90,450,200);
quad(270,220,290,160,410,85,450,200);
quad(270,220,150,200,120,140,290,160);
//Lense
//noStroke()
//fill(255)
//quad(190,290,190,330,270,330,270,290);
//quad(190,330,200,340,260,340,270,290);
//quad(600-190,290,600-190,330,600-270,330,600-270,290);
//quad(600-190,330,600-200,340,600-260,340,600-270,290);
loop()
strokeWeight(10);
stroke(100, 100, 100);
line(mouseX-10000, mouseY, mouseX+10000, mouseY)
noLoop()
//glasses
stroke(25);
strokeWeight(6);
line(150,270,190,300);
line(600-150,270,600-190,300);
strokeWeight(8);
line(190,290,190,330);
line(600-190,290,600-190,330);
line(190,330,200,340);
line(600-190,330,600-200,340);
line(200,340,260,340);
line(260,340,270,330);
line(270,330,270,290);
line(270,290,190,290);
line(600-200,340,600-260,340);
line(600-260,340,600-270,330);
line(600-270,330,600-270,290);
line(600-270,290,600-190,290);
stroke(25);
strokeWeight(7);
line(270,300,600-270,300);
//Lens Tint
//stroke(25);
//fill(255)
//strokeWeight(10);
//line(mouseX, mouseY, 0,0);
//fill(250, 240, 200);
//ellipse(300, 300, 400, 500,);
//line(300, 0, 300, 600,);
//line(0, 300, 600, 300);
//fill(255);
//ellipse(210,290,90,60);
//ellipse(600-210, 290, 90, 60);
//fill(0);
//triangle(210-offset,220,180-offset,260,310-offset,280);
//triangle(600-210+offset,220,600-180+offset,260,600-310+offset,280);
//ellipse(210,290,20,20);
//ellipse(600-210,290,20,20);
}
function setup() {
createCanvas(500, 400);
background(100);
}
function draw() {
//hair
fill(0);
quad(155,155,140,350,350,370,330,155,);
//face
noStroke();
fill(215,203,124);
quad(155,150,330,160,300,300,180,290);
triangle(180,289,300,299,250,330);
//ears
fill(185,174,99);
quad(145,200,165,195,170,230,150,230);
quad(320,190,313,220,330,225,340,195);
//glasses
stroke(5);
fill(100,112,145);
arc(200,200,50,60,0,PI+QUARTER_PI,CHORD);
arc(270,200,50,60,0,PI,CHORD);
line(220,205,250,210);
line(150,210,180,200);
line(285,210,330,200);
//nose
noStroke();
fill(207,190,75);
triangle(230,220,220,250,245,255);
fill(187,171,66);
ellipse(225,245,5,3);
ellipse(240,250,5,3);
//lips
fill(145,101,120);
triangle(200,280,230,270,250,285);
triangle(230,285,280,280,260,265);
fill(129,93,109);
triangle(200,280,280,280,240,295);
//bucket hat
fill(65,68,173);
quad(155,170,180,100,300,100,330,170);
quad(120,170,360,170,340,150,140,150);
//label
fill(215,203,124);
noStroke();
textSize(10);
text("JUNE LEE / SECTION C",360,25);
}
I found it challenging to work with a new coding language, however this allowed me to think about analog methods such as painting to organize my code.
]]>This is what I look like when I wonder when covid-19 will end.
//Jiaqi Self-Portrait
function setup() {
createCanvas(500, 500);
background(220);
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
scale(0.3);
background(224,164,151);
fill(96,76,63);
noStroke();
//me
//hair
ellipse(700,800,710,840);
rect(200,750,840,850);
//shadow
fill(57,39,21);
ellipse(657,820,498,588);
rect(320,820,588,762);
fill(244,211,158);
ellipse(540,1538,172);
rect(454,1292,172,352);
fill(216,175,142);
ellipse(556,1296,204,142);
//face
fill(244,211,158);
ellipse(626,1021,650,650);
//shirt
fill(0,105,52);
quad(255,1516,817,1516,951,1699,155,1699,);
fill(216,175,142);
rect(404,993,478,223);
//mask string
noFill();
stroke(46,167,224);
strokeWeight(12);
ellipse(362,1069,247,183);
noLoop();
noStroke();
//ear
fill(244,211,158);
ellipse(271,1048,121,226);
ellipse(540,1518,172);
//mask
fill(175,198,235);
rect(422,960,550,236);
//eyes
fill(0);
ellipse(510,897,32,75);
ellipse(833,898,32,75);
//eyelash
stroke(0);
strokeWeight(3);
line(486,875,505,870);
line(858,877,834,874);
noFill();
//eyebrows
stroke(96,76,63);
strokeWeight(5);
arc(500,804,80,50,PI,TWO_PI);
arc(830,780,80,50,0,PI);
noStroke();
//bird
fill(248,235,224);
ellipse(915,422,190,157);
ellipse(965,353,88);
triangle(758,438,839,380,849,480);
fill(0);
ellipse(943,352,10);
ellipse(1002,352,10);
fill(224,164,151);
triangle(965,353,987,353,976,372);
}
function setup() {
createCanvas(400, 400);
background(220);
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
background(158, 231, 234);
//noStroke();
stroke(25);
strokeWeight(3);
fill(221, 190, 140);
circle(285, 210, 50); //r ear
rect(110, 125, 180, 200, 20, 20, 80, 80); //face
fill(230, 210, 203);
circle(160, 195, 50);// l eye
circle(240, 195, 50);//r eye
fill(96, 81, 76);
rect(110, 65, 165, 60, 60, 10, 0, 0); //main hair
rect(280, 130, 15, 80, 0, 0, 15, 0); //lower hair
fill(221, 155, 140);
arc(200, 230, 30, 30, 1.57, -1.57); //nose
line(180, 270, 220, 270); //mouth
noStroke();
fill(255, 255, 255);
arc(160, 195, 40, 40, -2.356, 0.785);//left eye reflection
arc(240, 195, 40, 40, -2.356, 0.785);//right eye reflection
//line(200, 0, 200, 400);
//line(0, 200, 400, 200);
}
function setup() {
createCanvas(600,600);
background(220);
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
strokeWeight(0)
fill(20,20,20)
rect(65,300,450,280);
fill(239,192,136)
ellipse(300,300,450,500);
fill(39,25,150)
triangle(210,210,140,300,360,280)
triangle(460,210,370,300,500,320)
triangle(370,300,320,370,360,400)
fill(0)
circle(200,280,15)
circle(450,280,15);
fill(237,220,191)
triangle(380,290,370,400,400,400);
fill(175,125,84)
ellipse(350,480,30,15);
fill(16,11,30)
triangle(230,50,50,310,150,220)
triangle(230,50,60,280,250,140)
triangle(230,50,470,60,510,230)
triangle(260,40,60,110,50,320);
fill(39,16,103)
rect(140,350,150,100)
fill(223,93,194)
rect(180,330,70,60)
fill(237,155,207)
rect(230,320,45,45)
fill(248,172,240)
rect(240,330,50,12)
fill(39,25,150)
rect(400,360,60,70)
fill(223,140,220)
rect(420,350,80,50)
fill(248,172,250)
rect(420,330,45,60);
fill(39,16,80)
rect(50,230,30,120)
fill(45,70,50)
rect(60,200,50,200)
fill(39,16,90)
rect(470,100,50,200)
fill(45,70,50)
rect(490,120,60,220);
noloop();
}
]]>//order of layers: bkg > sweater > chest > face > features
//top to bottom > hair
//bkg: 244, 228, 203
//sweater: 204, 191, 174
//chest: 216, 174, 136
//face: 220, 189, 149
//eye whites: 235, 219, 215
//iris & brows: 86, 73, 66
//lip1: 221, 143, 139
//lip2: 179, 109, 105
function setup() {
createCanvas(800, 1000);
background(244, 228, 203); //bkg
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
noStroke();
fill(204, 191, 174); //sweater
rect(650, 600, 150, 200);
fill(216, 174, 136); //chest skin
rect(400, 650, 250, 350);
arc(650, 875, 50, 250, 0, HALF_PI);
fill(220, 189, 149); //face skin
rect(100, 200, 500, 300);
arc(400, 675, 250, 100, 0, HALF_PI);
rect(400, 500, 125, 175);
fill(63, 60, 73); //hair
arc((425/2), 180, 200, 200, PI, TWO_PI); //hair positive
arc(350, 80, 300, 125, 0, TWO_PI);
arc(500, 250, 250, 350, PI+HALF_PI, TWO_PI);
arc(125, 400, 250, 450, PI, PI+HALF_PI);
arc(400, 1000, 250, 550, 0, TWO_PI);
rect(0, 375, 150, 350);
rect(0, 725, 400, 275);
arc(800, 600, 600, 650, 0, PI);
rect(625, 250, 175, 350);
rect(150, 450, 100, 200);
rect(150, 650, 250, 75);
rect(125, 150, 100, 75);
arc(125, 225, 100, 300, 0, HALF_PI);
rect(275, 75, 225, 175);
rect(500, 250, 125, 150);
rect(550, 400, 75, 200);
arc(550, 600, 100, 400, PI, PI+HALF_PI);
fill(220, 189, 149); //face skin
arc(300, 250, 400, 225, PI+HALF_PI, TWO_PI); //hair negative
arc(300, 225, 250, 175, 0, PI+HALF_PI);
arc(400, 375, 550, 700, HALF_PI, PI);
arc(500, 400, 100, 300, PI+HALF_PI, TWO_PI);
arc(320, 397, 490, 515, PI+HALF_PI, TWO_PI);
fill(63, 60, 73); //hair
arc(575, 600, 150, 500, PI, PI+HALF_PI);
fill(244, 228, 203); //bkg
arc(800, 250, 350, 400, HALF_PI, PI);
fill(86, 73, 66); //brow
arc((425/2), (725/2), 75, 100, PI, PI+HALF_PI); //left brow
strokeWeight(51/2);
stroke(86, 73, 66);
line((425/2), 325, 300, 333);
noStroke();
rect(200, 325, 50, 25)
fill(220, 189, 149); //face skin
noStroke();
rect(250, 325, 75, 25);
fill(86, 73, 66); //brow
arc(250, 325, 120, 40, 0, PI);
fill(220, 189, 149) //face skin
arc((425/2), (725/2), 75, 50, PI, PI+HALF_PI);
arc((425/2), (725/2), 175, 50, PI+HALF_PI, TWO_PI);
fill(86, 73, 66) //brow
arc(475, 300, 100, 50, PI+HALF_PI, TWO_PI); //right brow
strokeWeight(25);
stroke(86, 73, 66);
line(400, (625/2), 475, (575/2))
noStroke();
fill(220, 189, 149) //face skin
arc(500, 302, 50, 15, PI, TWO_PI);
arc(476, 325, 275, 50, PI, PI+HALF_PI);
fill(86, 73, 66); //brow
arc(431, 300, 90, 20, 0, HALF_PI);
ellipse(420, 308, 62, 25);
strokeWeight(10)
stroke(220, 189, 149) //face skin
line(480, 303, 400, 330)
noStroke();
fill(216, 174, 136) //chest skin
arc(425, 375, 75, 250, HALF_PI, PI); //nose bridge
fill(220, 189, 149); //face skin
arc(425, 375, 75, 200, HALF_PI, PI);
fill(216, 174, 136); //chest skin
arc(262, 400, 100, 30, PI, TWO_PI); //left eye
arc(250, 400, 125, 50, 0, HALF_PI);
arc(250, 400, 75, 50, HALF_PI, PI);
fill(235, 219, 215); //eye white
strokeWeight(2);
stroke(63, 60, 73) //hair
arc(275, 400, 75, 20, PI+HALF_PI, TWO_PI);
arc(275, 413, 100, 46, PI, PI+HALF_PI);
noStroke();
arc(275, 413, 100, 15, HALF_PI, PI);
arc(275, 400, 75, 41, 0, HALF_PI);
fill(86, 73, 66); //iris
ellipse(275, 406, 30, 30);
fill(216, 174, 136); //chest skin
arc(475, 391, 116, 82, PI, PI+HALF_PI); //right eye
arc(475, 375, 75, 50, PI+HALF_PI, TWO_PI);
arc(475, 375, 75, 32, 0, HALF_PI);
fill(220, 189, 149); //face skin
rect(500, 350, 25, 50);
fill(235, 219, 215); //eye white
strokeWeight(2);
stroke(63, 60, 73) //hair
arc(450, 391, 60, 50, PI, PI+HALF_PI);
arc(463, 370, 50, 13, PI, TWO_PI);
noStroke();
ellipse(443, 381, 25, 25);
arc(450, 370, 75, 43, 0, HALF_PI);
fill(220, 189, 149); //face skin
arc(440, 397, 75, 15, PI, TWO_PI);
fill(86, 73, 66); //iris
ellipse(450, 378, 25, 25);
fill(216, 174, 136) //chest skin
arc(425, 495, 35, 39, 0, TWO_PI); //nose
arc(350, 525, 50, 116, PI, PI+HALF_PI);
ellipse(350, 525, 50, 32);
ellipse(375, 525, 63, 16);
rect(350, 475, 75, 50);
fill(220, 189, 149); //face skin
ellipse(375, 480, 58, 45);
ellipse(363, 535, 35, 28);
ellipse(416, 522, 24, 24);
fill(179, 109, 105) //lip2
arc(400, 600, 150, 75,HALF_PI, PI); //bottom lip
arc(400, 575, 150, 125, 0, HALF_PI);
fill(220, 189, 149); //face skin
rect(375, 550, 50, 50);
fill(221, 143, 139); //lip1
arc(413, 575, 125, 16, PI+HALF_PI, TWO_PI); //top lip
arc(413, 600, 50, 66, PI, PI+HALF_PI);
arc(326, 575, 300, 66, 0, HALF_PI);
arc(388, 600, 125, 50, PI, PI+HALF_PI);
arc(388, 600, 50, 50 , PI+HALF_PI, TWO_PI);
fill(220, 189, 149); //face skin
triangle(325, 610, 375, 575, 325, 575); //top lip negative
triangle(475, 580, 475, 567, 410, 567);
triangle(475, 580, 480, 567, 475, 567);
triangle(410, 567, 395, 575, 395, 567);
noLoop();
}
function setup() {
createCanvas(600, 600);
}
function draw() {
background(137, 134, 76);
//tree left base
stroke(84, 70, 54);
strokeWeight(10);
line(-27, 38, 51, 200);
noStroke();
fill(84, 70, 54);
rect(35, 0, 25, 600);
//tree left leaves
noStroke();
fill(69, 67, 32, 100);
ellipse(5, 152, 247, 105);
fill(206, 198, 101, 100);
ellipse(19, 254, 79, 33);
ellipse(86, 212, 70, 30);
ellipse(94, 78, 96, 41);
ellipse(137, 98, 68, 29);
fill(106, 114, 47, 150);
ellipse(73, 25, 70, 28);
//trees right base
stroke(84, 70, 54);
strokeWeight(20);
line(420, 380, 610, 20)
noStroke();
fill(84, 70, 54);
rect(500, 0, 30, 600);
rect(405, 0, 45, 600);
//trees right leaves
noStroke();
fill(106, 114, 47, 150);
ellipse(447, 32, 256, 108);
ellipse(556, 254, 142, 60);
fill(69, 67, 32, 150);
ellipse(525, 310, 84, 36);
fill(206, 198, 101, 100);
ellipse(508, 160, 98, 41);
ellipse(412, 109, 52, 21);
ellipse(340, 14, 166, 49);
//hair back
noStroke();
fill(21, 17, 14);
rect(182, 228, 238, 280);
//left top hair behind
noStroke();
fill(21, 17, 14);
ellipse(263, 228, 161, 191);
//right top hair behind
noStroke();
fill(21, 17, 14);
ellipse(317, 228, 206, 236);
//shoulder
noStroke();
fill(209, 159, 134);
rect(162, 485, 276, 134);
ellipse(300, 486, 275, 101);
//neck
noStroke();
fill(209, 159, 134);
rect(260, 390, 80, 77);
//face
noStroke();
fill(209, 159, 134);
ellipse(301, 286, 201, 243);
//left ear and earring
noStroke();
fill(209, 159, 134);
ellipse(204, 297, 30, 66);
fill(255);
ellipse(201, 317, 10, 10);
//right ear and earring
noStroke();
fill(209, 159, 134);
ellipse(397, 297, 30, 66);
fill(255);
ellipse(399, 317, 10, 10);
//mouth
noStroke();
fill(146, 89, 69);
ellipse(301, 362, 55, 18);
arc(301, 362, 55, 34, 0, PI);
fill(255);
ellipse(301, 362, 40, 5);
//nose
noStroke();
fill(181, 131, 112);
ellipse(301, 328, 28, 19);
//left eye and brow
noStroke();
fill(45, 35, 32);
ellipse(252, 292, 24, 24);
fill(45, 35, 32);
arc(252, 292, 34, 34, PI, TWO_PI);
fill(255);
ellipse(248, 290, 8, 8);
fill(21, 17, 14);
ellipse(245, 255, 47, 10);
//right eye and brow
noStroke();
fill(45, 35, 32);
ellipse(352, 292, 24, 24);
fill(45, 35, 32);
arc(352, 292, 34, 34, PI, TWO_PI);
fill(255);
ellipse(348, 290, 8, 8);
fill(21, 17, 14);
ellipse(356, 255, 47, 10);
//top
noStroke();
fill(0);
quad(194, 508, 408, 508, 398, 600, 204, 600);
//left strap
noStroke();
fill(0);
rect(202, 441, 10, 100);
//hair on top of shoulder
noStroke();
fill(21, 17, 14);
rect(340, 438, 80, 129);
//front hair
noStroke();
fill(21, 17, 14);
ellipse(202, 235, 10, 131);
fill(21, 17, 14);
ellipse(400, 235, 10, 131);
fill(21, 17, 14);
rotate(.78);
translate(-210, -180)
ellipse(600, 80, 187, 76);
noLoop();
}
The most interesting part of this project was figuring out how to communicate a complex portrait through the construction of very simple elements. I had fun experimenting with different color/opacity values and layering shapes.
]]>My imaginary self portrait
// Stefanie Suk
// 15-104 Section D
function setup() {
createCanvas(600, 600);
background(208, 233, 254);
frameRate(10);
// text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
// random circle background
fill(random(255), random(255), random(255));
ellipse(random(600), random(600), random(100), random(100));
noFill();
stroke(0);
strokeWeight(10);
rect(100, 100, 400, 400);
// head and body
noStroke();
fill(255);
ellipse(300, 680, 400, 600);
fill(240);
ellipse(305, 332, 305, 250);
fill(255, 255, 255);
ellipse(300, 300, 300, 300);
ellipse(345, 350, 250, 200);
ellipse(200, 200, 120, 120);
ellipse(400, 205, 120, 120);
// eyes
stroke(0);
strokeWeight(17);
point(265, 320);
point(370, 320);
// mouth
strokeWeight(5);
fill(255, 0, 0);
arc(320, 345, 50, 50, 0, PI, CHORD);
// necktie and button
fill(0);
triangle(276, 465, 276, 503, 319, 484.5);
triangle(361, 465, 361, 503, 319, 484.5);
ellipse(319, 510, 5, 5);
ellipse(319, 525, 5, 5);
ellipse(319, 540, 5, 5);
// blush
noStroke();
fill(249, 203, 203);
ellipse(200, 350, 30, 30);
ellipse(420, 350, 30, 30);
fill(32, 69, 140);
quad(264, 173, 280, 130, 324, 130, 343, 173);
}
An abstract version of myself.
function setup() {
createCanvas(400, 400);
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
background(204, 245, 255);
//left ear
fill(250, 168, 69);
stroke(0);
strokeWeight(3);
triangle(117, 167, 103, 208, 122, 226);
//main circle
fill(252, 219, 190);
stroke(0);
strokeWeight(3);
ellipse(198, 171, 177, 177);
//green triangle
fill(148, 206, 146);
strokeWeight(3);
triangle(285, 199, 266, 277, 201, 314);
//pink triangle
fill(232, 172, 206);
strokeWeight(3);
triangle(117, 202, 136, 280, 201, 317);
//right eye
fill(108, 145, 191);
stroke(250);
strokeWeight(3);
ellipse(240, 183, 21, 21);
fill(0)
noStroke();
ellipse(240, 183, 11, 11);
//left eye
fill(250);
stroke(0);
strokeWeight(3);
ellipse(164, 183, 21, 21);
fill(0);
noStroke();
ellipse(164, 183, 11, 11);
//middle face
fill(228, 190, 152);
stroke(0);
strokeWeight(3);
triangle(136, 231, 268, 239, 201, 314);
//nose
fill(229, 204, 181);
triangle(199, 193, 190, 229, 205, 246);
//lips
fill(216, 114, 100);
triangle(174, 264, 187, 256, 202, 264);
triangle(201, 264, 215, 256, 229, 264);
fill(238, 171, 163);
triangle(174, 264, 202, 283, 229, 264);
//right ear
fill(241, 238, 141);
triangle(287, 170, 297, 211, 279, 230);
//brows
noFill();
line(228, 167, 250, 167);
line(150, 167, 172, 167);
//right hair
stroke(0);
strokeWeight(3);
noFill();
bezier(190, 85, 200, 80, 170, 160, 280, 165);
bezier(200, 85, 220, 100, 180, 155, 280, 160);
bezier(215, 85, 230, 90, 190, 150, 280, 157);
bezier(220, 85, 240, 85, 200, 145, 285, 153);
bezier(240, 100, 250, 60, 210, 140, 300, 147);
bezier(175, 84, 150, 100, 200, 160, 86, 166);
bezier(172, 80, 140, 90, 190, 155, 86, 160);
bezier(160, 100, 130, 80, 180, 150, 86, 155);
bezier(150, 115, 120, 70, 170, 145, 86, 150);
}
Week 1 Assignment: Self Portrait
//Iris Yip iyip
//15104 f2020 - Section D
function setup() {
createCanvas(600, 600);
}
function draw() {
background(245, 173, 48);
//hair, back
fill(24,20,45)
rect(80, 316, 450, 384)
ellipse(300, 300, 450);
fill(14,14,14)
rect(120, 316, 360, 284)
fill(246, 245, 180)
ellipse(300, 600, 400, 200)
//neck + shirt
noStroke();
fill(225, 159, 110)
ellipse(300, 492, 68, 100);
//ears
fill(225, 159, 110)
ellipse(108, 317, 90+30, 100+30);
ellipse(492, 317, 90+30, 100+30);
fill(198, 127, 96)
ellipse(108, 317, 90, 100);
ellipse(492, 317, 90, 100);
//face
noStroke();
fill(225, 159, 110)
ellipse(300, 300, 385);
//nose
fill(198, 127, 96)
ellipse(300, 316, 68, 126)
fill(225, 159, 110)
ellipse(300, 290, 120, 126)
//eyes
fill(255,255.255)
ellipse(205, 290, 109, 76);
ellipse(390, 290, 109, 76);
fill(24,20,45)
ellipse(390, 290, 50, 50);
ellipse(205, 290, 50, 50);
//mouth
fill(188, 101, 86);
ellipse(300, 440, 70, 20);
fill(225, 159, 110)
ellipse(300, 450, 70, 20);
//eyelids
fill(225, 159, 110)
rect(148, 236, 307, 57)
stroke(24,20,45);
strokeWeight(10);
line(150, 290, 260, 290)
line(447, 290, 335, 290)
//hair
fill(24,20,45)
arc(110, 170, 360, 250, 0, HALF_PI);
rect(143, 146, 300, 40)
rect(193, 106, 210, 40)
arc(440, 120, 160, 260, 1, PI);
fill(225, 159, 110)
noStroke();
ellipse(373, 197, 160, 110);
fill(24,20,45)
triangle(465, 230, 505, 240, 474, 435)
triangle(96,240, 141, 240, 125, 435)
stroke(188, 101, 86);
noFill();
arc(380, 280, 130, 20, PI + QUARTER_PI, TWO_PI)
noFill();
stroke(24,20,45)
arc(260, 110, 100, 320, 0, HALF_PI);
}