My process included starting out researching some inspiration and I happened to stumble upon the works of Stanley Chow. I really liked how simple and straight forward his portraits looked, and wanted to emulate that to some extent. This was my first time coding anything, but found that the more I continue to use the lines of code for the specific shapes, the easier it became to remember what I needed in order to fulfill the tasks that I had in mind. I found that the hard part was the tedious task of trying to find the exact coordinates and calculations that I needed to find the right placements for my shapes.
function setup() {
createCanvas(500,500);
background(105); //background(246,223,255);
}
function draw() {
//hair
noStroke();
fill(57,26,14);
ellipse(250,160,180,180);
rect(160,150,180,100);
//ears
noStroke();
fill(249,228,205);
ellipse(305,190,50,50)
noStroke();
fill(249,228,205);
ellipse(192,190,50,50)
//face
noStroke();
fill(249,228,205);
rect(185,100,130,165,57);
//chin
noStroke();
fill(249,228,205);
triangle(250,275,285,258,213,257);
//ears(inside)
noStroke();
fill(210,195,172);
arc(185,190,20,20,PI/2,3*PI/2,OPEN);
noStroke();
fill(210,195,172);
arc(313,190,20,20,3*PI/2,PI/2,OPEN);
//eyes
noStroke();
fill(0,0,0);
ellipse(285,180,20,20);
noFill();
strokeWeight(1);
stroke(0,0,0);
arc(286,180,30,30,PI,PI+TWO_PI);
noFill();
stroke(0,0,0);
arc(220,180,30,30,PI,PI+TWO_PI);
noStroke();
fill(249,228,205);
ellipse(300,175,7,13);
noStroke();
fill(249,228,205);
ellipse(206,175,7,13);
noStroke();
fill(0,0,0);
ellipse(220,180,20,20);
triangle(293,174,300,176,290,185);
translate(-85,-3);
triangle(290,178,300,175,295,182);
//nose
noStroke();
fill(210,195,172);
ellipse(338,215,20,10);
//lips
strokeWeight(2);
fill(202,119,107);
arc(338,240,25,25,7*PI/6,11*PI/6);
fill(249,228,205);
triangle(338,232,325,225,350,225);
//eyebrows
noStroke();
fill(0);
rect(347,155,28,7,10);
triangle(300,162,299,155,293,163);
noStroke();
fill(0);
rect(297,155,28,7,10);
triangle(372,162,373,155,379,163);
//bangs
noStroke();
fill(57,26,14);
arc(280,110,98,100,106,2,CHORD);
}