Project 01 – Self Portrait

sketch
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);
}

PROJECT 01- SELF PORTRAIT

JUNE_MYFACE
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.

Project-01-Face

This is what I look like when I wonder when covid-19 will end.

sketch jq
//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);

	




}

Project 01 – Self Portrait

sketch
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);

}

Week01_Self-Portrait

test

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();



}

Project 1: Self Portrait

sketchDownload
//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();
}

Project 1: My Self Portrait

portrait cb
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.

Project 1 – Self Portrait

My imaginary self portrait

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);

}

Project 1: Self Portrait

An abstract version of myself.

portrait
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);
}

Project 1 – Self Portrait

Week 1 Assignment: Self Portrait

sketch
//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);


  

  


}