My process involved a great deal of trial and error, as I’m sure is true for most of the class. I found utilizing arcs to be very tricky, and my attempts at curves complete failures. Even with this post elements that showed up in my browser (such as the eyes) have disappeared and a handful of the features (the mouth and eyebrows) have been become yellow instead of black.
Still, it’s uncanny.
//Stephen M. Eckert
//Section C
//SEckert@andrew.cmu.edu
//Project 01 Face
function setup() {
createCanvas(400, 400);
}
function draw() {
background('grey');
noStroke()
fill ('black')
rect (20, (height-100), 360, 150, 50) //body
fill (255, 234, 196);
arc (((width/2)-90), ((height/2)-50), 70, 70, 0, PI+PI/2, OPEN); //ears
arc (((width/2)+90), ((height/2)-50), 70, 70, 80, PI, OPEN);
fill (255, 211, 164);
arc (((width/2)-85), ((height/2)-50), 65, 65, 0, PI+PI/2, OPEN); //ears shade
arc (((width/2)+85), ((height/2)-50), 65, 65, 80, PI, OPEN);
fill (255, 234, 196);
ellipse ((width/2), ((height/2)-30), 220, 270); //chin
fill ('black');
ellipse (((width/2)-50), ((height/2)-50), 20, 20); //eyes
ellipse (((width/2)+50), ((height/2)-50), 20, 20);
fill (255, 211, 164);
triangle (((width/2)-15), ((height/2)+10), (width/2), ((height/2)-30), ((width/2)+15), ((height/2)+10)); //nose
ellipse ((width/2), ((height/2)+80), 40, 20);
fill (255, 214, 68);
rect (((width/2)-30), ((height/2)+15), 60, 20, 20, 20, 0, 0); //mustache
stroke(4);
ellipseMode (CENTER); // poofy hair
ellipse ((width/2+25), ((height/2)-145), 60, 60);
ellipse ((width/2+30), ((height/2)-160), 80, 80);
ellipse (((width/2)-20), ((height/2)-150), 70, 70);
ellipse ((width/2), ((height/2)-170), 60, 60);
ellipse ((width/2+20), ((height/2)-130), 40, 40);
ellipse ((width/2-30), ((height/2)-165), 40, 40);
fill ('black');
rect (((width/2)-10), ((height/2)+40), 20, 5, 20); //mouth
rect (((width/2)-65), ((height/2)-70), 30, 5) //eyebrows
rect (((width/2)+35), ((height/2)-85), 30, 5)
noLoop()
}