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.