Project 1: My Self Portrait

kstargio-01-selfportraitDownload
// Katherine Stargiotti, kstargio, B

function setup() {
    createCanvas(1000, 500);
    background(220);
    text("kstargio, Self-Portrait Project1", 10, 15);
}

function draw() {
//HEAD:
    noStroke();
	fill(221,159,131);							//skin tone
	ellipse(500, 200, 280, 300);
	ellipse(500, 270, 215, 305);
	quad(633,240, 367,240, 421,375, 579,375);
	line(637.5,200,725,300);
	ellipse(433, 280, 95, 125);
	ellipse(567, 280, 95, 125);					//head
		fill(231,159,133);
	ellipse(434, 285, 85, 70);
	ellipse(566, 285, 85, 70);					//cheeks
//EYES:
		fill(255);		//white
	ellipse(450, 250, 50, 20);
	ellipse(550, 250, 50, 20);
	arc(450, 250, 50, 26, PI, 0);
	arc(550, 250, 50, 26, PI, 0);				//eyeballs
		fill(58,27,25);		//brown
	arc(450, 246, 25, 25, PI+HALF_PI+QUARTER_PI, PI+(QUARTER_PI), OPEN);
	arc(550, 246, 25, 25, PI+HALF_PI+QUARTER_PI, PI+QUARTER_PI, OPEN);			
		fill(0);			//black
	ellipse(450, 246.5, 15, 15);
	ellipse(550, 246.5, 15, 15);				//pupils
		fill(255);
	ellipse(455, 245, 5, 5);
	ellipse(555, 245, 5, 5);
	ellipse(456, 249, 2, 2);
	ellipse(556, 249, 2, 2);					//glare
//EYELINER:
		noFill();
		stroke(0);
		strokeWeight(.75);
	arc(450, 250, 50, 20, (QUARTER_PI)/8, PI-(QUARTER_PI)/8);
	arc(550, 250, 50, 20, (QUARTER_PI)/8, PI-(QUARTER_PI)/8); 		//bottom line
		strokeWeight(1);
 	arc(450, 250, 50, 26, PI, 0);
	arc(550, 250, 50, 26, PI, 0); 
		strokeWeight(1.75);
 	arc(450, 250, 50, 26, PI, PI+HALF_PI+(7*(HALF_PI)/8));
	arc(550, 250, 50, 26, PI+(QUARTER_PI)/4, 2*PI); 
		strokeWeight(2.5);
 	arc(450, 250, 50, 26, PI, PI+HALF_PI+(6*(HALF_PI)/8));
	arc(550, 250, 50, 26, PI+(QUARTER_PI)/2, 2*PI); 
//EYELASHES:
	    strokeWeight(1);
	arc(423, 245, 15, 12, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);		//left top
	arc(424, 243, 15, 12, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/2);	
	arc(425, 241, 15, 12, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(426, 239, 15, 12, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(428, 238, 15, 12, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/3);	
	arc(430, 236.5, 15, 12, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(432, 235, 15, 12, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/2);
	arc(434, 234, 15, 12, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/3);	
	arc(436, 233, 15, 12, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(438, 232, 15, 12, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/2);	
	arc(440, 232, 12, 10, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/3);	
	arc(442, 231.5, 12, 10, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(445, 231, 12, 10, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/2);
		strokeWeight(.75);
	arc(447, 232, 12, 10, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/3);	
	arc(449, 231.5, 12, 10, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(451, 231, 12, 10, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/2);
		strokeWeight(.5);
	arc(453, 232, 12, 10, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/3);	
	arc(455, 232, 12, 10, HALF_PI-(QUARTER_PI/2), PI-(QUARTER_PI)/2);	
	arc(456, 231, 12, 10, HALF_PI+(QUARTER_PI/8), PI-(QUARTER_PI)/2);
		strokeWeight(1);
	arc(425, 257, 10, 8, PI+(QUARTER_PI)/2, PI+HALF_PI+(QUARTER_PI)/2);		//left bottom
	arc(426, 258, 9, 8, PI+(QUARTER_PI)/2, PI+HALF_PI+(QUARTER_PI)/2);	
		strokeWeight(.5);
	arc(427, 259, 8, 8, PI+(2*(QUARTER_PI)/3), PI+HALF_PI+(QUARTER_PI)/2);	
	arc(428, 260, 8, 8, PI+(2*(QUARTER_PI)/3), PI+HALF_PI+(QUARTER_PI)/2);	
	arc(430, 261, 8, 8, PI+(2*(QUARTER_PI)/3), PI+HALF_PI+(QUARTER_PI)/2);	
		strokeWeight(1);
	arc(578, 245, 15, 12, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);			//right top
	arc(577, 243.5, 15, 12, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);		
	arc(576, 242, 15, 12, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);		
	arc(574, 240.5, 15, 12, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);
	arc(573, 239, 15, 12, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);		
	arc(572, 237, 15, 12, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);		
	arc(569, 236, 15, 12, QUARTER_PI/4, HALF_PI+(QUARTER_PI)/8);
	arc(569, 235.5, 12, 10, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);		
	arc(568, 234, 12, 10, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);		
	arc(565, 233.5, 12, 10, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);	
	arc(564, 233, 12, 10, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);		
	arc(562, 232.5, 12, 10, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);		
	arc(560, 232, 12, 10, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);
		strokeWeight(.75);
	arc(558, 232, 12, 10, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);		
	arc(556, 231.5, 12, 10, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);		
	arc(554, 231, 12, 10, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/8);
		strokeWeight(.5);
	arc(552, 231.5, 10, 8, QUARTER_PI/3, HALF_PI+(QUARTER_PI)/8);		
	arc(550, 231.5, 10, 8, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/2);		
	arc(548, 231.5, 10, 8, QUARTER_PI/2, HALF_PI+(QUARTER_PI)/8);
		strokeWeight(1);
	arc(575, 257, 10, 8, PI+HALF_PI-(QUARTER_PI)/2, (2*PI)-(QUARTER_PI)/2);	//right bottom
	arc(574, 258, 9, 8, PI+HALF_PI-(QUARTER_PI)/2, (2*PI)-(QUARTER_PI)/2);
		strokeWeight(.5);
	arc(573, 259, 8, 8, PI+HALF_PI-(QUARTER_PI)/2, (2*PI)-(QUARTER_PI)/2);
	arc(572, 260, 8, 8, PI+HALF_PI-(QUARTER_PI)/2, (2*PI)-(QUARTER_PI)/2);
	arc(570, 261, 8, 8, PI+HALF_PI-(QUARTER_PI)/2, (2*PI)-(QUARTER_PI)/2);
//EYEBROWS:
		fill(50, 26, 25);		//brow brown
	quad(423,207, 480,213, 480,223, 423,214);
	arc(421.5, 222, 45, 30, PI-(QUARTER_PI)/2, PI+HALF_PI+(QUARTER_PI)/2);
		fill(221,159,131);		//skin tone
		stroke(50, 26, 25);
	arc(425, 226, 55, 21, PI, PI+HALF_PI+(QUARTER_PI)/2);
		fill(221,159,131);		//skin tone
		noStroke();
	arc(425, 226, 53, 21, HALF_PI+QUARTER_PI, PI+HALF_PI);									//left brow
        fill(50, 26, 25);		//brow brown
	quad(579,207, 520,213, 520,223, 579,215);
	arc(582, 222, 45, 30, PI+QUARTER_PI, QUARTER_PI);
		fill(221,159,131);		//skin tone
		stroke(50, 26, 25);
	arc(578, 226, 55, 21, PI+HALF_PI, 0);
		fill(221,159,131);		//skin tone
		noStroke();
	arc(578, 226, 55, 21, PI, QUARTER_PI);													//right brow
//NOSE:
        noFill();
		stroke(50);
	arc(439, 285, 95, 175, PI+HALF_PI+QUARTER_PI, 0);
	arc(561, 285, 95, 175, PI, PI+QUARTER_PI);
//MASK ELASTIC:
		fill(172, 198, 209);
		stroke(172, 198, 209);
		strokeWeight(2);
	line(430,385, 370,275);
	line(572,385, 630,275);	
//EARS:
		noStroke();
		fill(221,159,131);		//skin tone
	ellipse(370,270, 30, 50);
	ellipse(375,295, 25, 30);
	ellipse(630,270, 30, 50);
	ellipse(625,295, 25, 30);

//MASK:
		fill(172, 198, 209);
		stroke(172, 198, 209);
		strokeWeight(2);
	line(375,265, 365,245);
    line(625,265, 635,245);
		strokeWeight(1);
	arc(500, 287, 45, 30, PI+(QUARTER_PI)/2, PI+HALF_PI+QUARTER_PI+(QUARTER_PI)/2);
	quad(500,280, 375,265, 428,385, 475,425);
	quad(500,280, 625,265, 574,385, 525,425);
	quad(475,425, 525,425, 525,282, 475,282);
//BUN:
	   	fill(19, 16, 13);
	   	stroke(19, 16, 13);
	ellipse(525, 50, 130, 90);
		noFill();
		strokeWeight(1);
	arc(530, 75, 155, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
	    stroke(37, 29, 26);
	arc(527, 78, 154, 142, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 155, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 156, 145, HALF_PI+QUARTER_PI, QUARTER_PI);	
		stroke(19, 20, 12);
		strokeWeight(4);
	
    arc(527, 77, 45, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 77, 160, 147, HALF_PI+QUARTER_PI, QUARTER_PI/2);
	arc(526, 75, 155, 145, HALF_PI+QUARTER_PI, QUARTER_PI/2);
    arc(527, 77, 150, 135, HALF_PI+QUARTER_PI, QUARTER_PI/2);
	arc(528, 77, 145, 147, HALF_PI+QUARTER_PI, QUARTER_PI/2);
	arc(526, 75, 140, 145, HALF_PI+QUARTER_PI, QUARTER_PI/2);
	
    arc(527, 78, 135, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 130, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 125, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
		stroke(50, 26, 25);
    arc(527, 78, 120, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 115, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
		   	stroke(19, 16, 13);
	arc(526, 75, 110, 145, HALF_PI+QUARTER_PI, QUARTER_PI); 
    arc(527, 78, 100, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 95, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 105, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
    arc(527, 78, 90, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 85, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
			stroke(41, 31, 29);
	arc(526, 75, 80, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(527, 78, 75, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 70, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 65, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
	    	stroke(50, 26, 25);
    arc(527, 78, 60, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 55, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
		    stroke(37, 29, 26);
	arc(526, 75, 50, 145, HALF_PI+QUARTER_PI, QUARTER_PI); 
    arc(527, 78, 45, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 40, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 35, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
    arc(527, 78, 30, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
		   	stroke(19, 16, 13);
	arc(528, 79, 25, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 20, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
    arc(527, 78, 15, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 10, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 5, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
    arc(527, 78, 3, 135, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(528, 79, 57, 147, HALF_PI+QUARTER_PI, QUARTER_PI);
	arc(526, 75, 103, 145, HALF_PI+QUARTER_PI, QUARTER_PI);
//HAIR:
		noFill();
		stroke(19, 16, 13);
		strokeWeight(32);
	arc(500, 200, 230, 250, PI+QUARTER_PI, PI+HALF_PI+QUARTER_PI);
		strokeWeight(26);
	arc(500, 200, 245, 265, PI+(QUARTER_PI)/2+(QUARTER_PI)/4, PI+HALF_PI+QUARTER_PI+(QUARTER_PI)/4);
		strokeWeight(20);
	arc(500, 200, 255, 275, PI+(QUARTER_PI)/2, PI+HALF_PI+QUARTER_PI+(QUARTER_PI)/2);
		strokeWeight(15);
	arc(500, 200, 260, 280, PI+(QUARTER_PI)/4, PI+HALF_PI+QUARTER_PI+(QUARTER_PI)/2+(QUARTER_PI)/4);
		strokeWeight(11);
	arc(500, 200, 265, 285, PI, 0);
		strokeWeight(8);
	arc(500, 200, 275, 295, HALF_PI+QUARTER_PI+(QUARTER_PI)/2+(QUARTER_PI)/4, (QUARTER_PI)/4);
		strokeWeight(5);
	arc(500, 200, 275, 300, HALF_PI+QUARTER_PI+(QUARTER_PI)/2, (QUARTER_PI)/2);
		fill(19, 16, 13);
	arc(500, 175, 260, 245, PI+(QUARTER_PI)/2, PI+HALF_PI+QUARTER_PI+(QUARTER_PI)/2, CHORD);
	arc(500, 100, 165, 65, PI+HALF_PI+QUARTER_PI, PI+QUARTER_PI, CHORD);
}

I found this project to be challenging because of the amount of detail I like to use when creating art. With only primitive shapes/tools at my disposal, it was very difficult to use as much detail as I would have liked.

Leave a Reply