function setup() {
createCanvas(600, 600);
background(243, 166, 138);
}
function draw() {
//body
noStroke();
fill(77, 78, 73);
arc(300, 630, 350, 350, PI, TWO_PI);
// hair
noStroke();
fill(36, 38, 33);
quad(100, 100, 160, 100, 210, 550, 70, 450);
quad(360, 100, 460, 100, 520, 450, 390, 550)
// head
noStroke();
fill(255, 224, 182);
ellipse(300, 250, 300, 350);
//neck
rect(275, 400, 50, 80);
ellipse(300, 477, 50, 50);
//ears
noStroke();
fill(255, 224, 182);
ellipse(150, 250, 50, 50);
ellipse(450, 250, 50, 50);
// face
// mouth
fill(255, 100, 80);
arc(300, 300, 70, 80, TWO_PI, PI);
//nose
fill(243, 175, 132);
ellipse(300, 250, 30, 30);
stroke(243, 175, 132);
strokeWeight(15);
line(292, 210, 292, 253);
//right eye
fill(0)
stroke(255, 255, 255);
strokeWeight(5);
ellipse(355, 200, 45, 45);
//left eye
fill(0)
stroke(255, 255, 255);
strokeWeight(5);
ellipse(240, 200, 45, 45);
//right eyebrow
noStroke();
fill(36, 38, 33);
quad(330, 170, 330, 160, 375, 160, 396, 170);
//details
ellipse(385, 225, 5, 5);
fill(248, 187, 182, 70);
ellipse(390, 270, 90, 80);
ellipse(200, 270, 90, 80);
//hat
fill(245, 245, 245);
arc(300, 160, 350, 350, PI, TWO_PI);
stroke(245, 245, 245);
strokeWeight(100);
line(50, 150, 400, 95);
noStroke();
fill(245, 100, 100);
rect(300, 50, 25, 25);
fill(255, 255, 255);
rect(275, 50, 25, 25);
fill(30, 90, 200);
rect(275, 40, 50, 10);
rect(275, 70, 50, 10);
}
Overall I really enjoyed creating this self-portrait. I learned that keeping the code clean and organized is super important and allowed me to have a better grasp of what I’m doing and code more effectively. I also found that rather than trying to make every feature look exactly like mine, incorporating one or two specific details made a huge difference.