function setup() {
createCanvas(500, 500);
background(195, 240, 244);
angleMode(DEGREES);
smooth();
}
function draw() {
//hair back
noStroke();
fill(31, 51, 68);
arc(310, 260, 270, 280, 160, 380, CHORD);
rect(175, 270, 270, 80);
//neck
fill(237, 217, 168);
stroke(224, 179, 134);
strokeWeight(5);
rect(285, 300, 50, 130);
noStroke();
fill(224, 179, 134);
rect(285, 300, 50, 75);
//face
fill(237, 217, 168);
stroke(224, 179, 134);
arc(310, 260, 190, 200, -90, 200, CHORD);
//eyes
noStroke();
fill(0);
ellipse(260, 246, 10, 10);
ellipse(370, 246, 10, 10);
//eyebrows
stroke(31, 51, 68);
strokeWeight(5);
line(350, 225, 372, 225);
//mouth
stroke(224, 179, 134);
line(280, 310, 340, 310);
//hair front
noStroke();
fill(31, 51, 68);
arc(200, 120, 270, 280, 2, 100, CHORD);
stroke(31, 51, 68);
noFill();
arc(197, 135, 270, 280, 2, 70, OPEN);
//shirt
noStroke();
fill(256);
ellipse(310, 515, 300, 250);
}
I started off by figuring out how I wanted to represent the face and ended up with a highly simplified version made of more basic shapes. Once I had a rough layout of what I wanted to accomplish I essentially just used trial and error to put the face together. I found that the hardest part was calculating the position & other variables for each shape, and will probably try to find a more efficient way of figuring those factors out.