//Nicholas Troutman
//15.104 section C
//ntroutma@andrew.cmu.edu
//Assignment-01
function setup() {
createCanvas(600, 800);
}
function draw() {
background("#FAFCFC");
noStroke();
//face
fill("#E3BA8A");
beginShape();
vertex(125, 340);
vertex(175, 430);
vertex(150, 550);
vertex(100, 450);
endShape();
beginShape();
vertex(300, 465);
vertex(400, 430);
vertex(350, 500);
vertex(265, 560);
endShape();
beginShape();
vertex(320, 360);
vertex(340, 370);
vertex(330, 450);
vertex(315, 430);
vertex(315, 420);
vertex(300, 405);
endShape();
beginShape();
vertex(335, 345);
vertex(335, 355);
vertex(380, 365);
vertex(395, 385);
vertex(420, 405);
vertex(435, 350);
endShape();
beginShape();
vertex(295, 180);
vertex(320, 190);
vertex(375, 220);
vertex(435, 310);
vertex(435, 260);
vertex(385, 200);
endShape();
ellipse(105, 315, 55, 110);
//mouth and nose
fill("black");
angleMode(DEGREES);
rotate(15);
fill("#BD4A5F");
ellipse(350, 425, 75, 55);
fill("black");
ellipse(350, 420, 75, 45);
rotate(345);
noFill();
stroke(0);
strokeWeight(3);
curve(100,500, 230,430, 250,425, 450,420);
noStroke();
//eyes
fill("#DFEDF5");
ellipse(383, 376, 45, 27);
fill("#80B6D1");
ellipse(230, 335, 23, 23);
ellipse(385, 375, 23, 23);
noFill();
stroke(0);
strokeWeight(3);
curve(185,360, 185,305, 225,310, 225,330, 240,350);
curve(345,380, 345,365, 380,355, 385,355, 385,375, 400,420);
//eyebrows
noStroke();
fill("#DBC900");
beginShape();
vertex(190, 280);
vertex(220, 275);
vertex(265, 300);
vertex(265, 305);
endShape();
beginShape();
vertex(350, 342);
vertex(420, 325);
vertex(440, 355);
vertex(410, 342);
endShape();
//hair
fill("#DBC900");
beginShape();
vertex(145, 150);
vertex(220, 175);
vertex(140, 275);
vertex(115, 250);
endShape();
beginShape();
vertex(160, 145);
vertex(250, 100);
vertex(240, 175);
endShape();
beginShape();
vertex(270, 90);
vertex(390, 120);
vertex(380, 190);
vertex(250, 170);
endShape();
beginShape();
vertex(0, 0);
vertex(0, 0);
vertex(0, 0);
vertex(0, 0);
endShape();
noFill();
stroke("#DBC900");
strokeCap(SQUARE);
strokeWeight(20);
curve(200, 600, 400, 190, 500, 330, 200, 800);
noStroke();
//shirt
fill("black");
beginShape();
vertex(220, 600);
vertex(355, 500);
vertex(360, 580);
vertex(230, 685);
endShape();
beginShape();
vertex(65, 515);
vertex(85, 600);
vertex(65, 675);
vertex(45, 575);
endShape();
noLoop();
}
I wanted to make this portrait as recognizable as possible, so I began with a sketched portrait, and spent my initial time designing and distilling shapes, abstracting as I went. Colors were picked to accentuate features and give a more cartooned aesthetic.