portrait cb
function setup() {
createCanvas(600, 600);
}
function draw() {
background(137, 134, 76);
//tree left base
stroke(84, 70, 54);
strokeWeight(10);
line(-27, 38, 51, 200);
noStroke();
fill(84, 70, 54);
rect(35, 0, 25, 600);
//tree left leaves
noStroke();
fill(69, 67, 32, 100);
ellipse(5, 152, 247, 105);
fill(206, 198, 101, 100);
ellipse(19, 254, 79, 33);
ellipse(86, 212, 70, 30);
ellipse(94, 78, 96, 41);
ellipse(137, 98, 68, 29);
fill(106, 114, 47, 150);
ellipse(73, 25, 70, 28);
//trees right base
stroke(84, 70, 54);
strokeWeight(20);
line(420, 380, 610, 20)
noStroke();
fill(84, 70, 54);
rect(500, 0, 30, 600);
rect(405, 0, 45, 600);
//trees right leaves
noStroke();
fill(106, 114, 47, 150);
ellipse(447, 32, 256, 108);
ellipse(556, 254, 142, 60);
fill(69, 67, 32, 150);
ellipse(525, 310, 84, 36);
fill(206, 198, 101, 100);
ellipse(508, 160, 98, 41);
ellipse(412, 109, 52, 21);
ellipse(340, 14, 166, 49);
//hair back
noStroke();
fill(21, 17, 14);
rect(182, 228, 238, 280);
//left top hair behind
noStroke();
fill(21, 17, 14);
ellipse(263, 228, 161, 191);
//right top hair behind
noStroke();
fill(21, 17, 14);
ellipse(317, 228, 206, 236);
//shoulder
noStroke();
fill(209, 159, 134);
rect(162, 485, 276, 134);
ellipse(300, 486, 275, 101);
//neck
noStroke();
fill(209, 159, 134);
rect(260, 390, 80, 77);
//face
noStroke();
fill(209, 159, 134);
ellipse(301, 286, 201, 243);
//left ear and earring
noStroke();
fill(209, 159, 134);
ellipse(204, 297, 30, 66);
fill(255);
ellipse(201, 317, 10, 10);
//right ear and earring
noStroke();
fill(209, 159, 134);
ellipse(397, 297, 30, 66);
fill(255);
ellipse(399, 317, 10, 10);
//mouth
noStroke();
fill(146, 89, 69);
ellipse(301, 362, 55, 18);
arc(301, 362, 55, 34, 0, PI);
fill(255);
ellipse(301, 362, 40, 5);
//nose
noStroke();
fill(181, 131, 112);
ellipse(301, 328, 28, 19);
//left eye and brow
noStroke();
fill(45, 35, 32);
ellipse(252, 292, 24, 24);
fill(45, 35, 32);
arc(252, 292, 34, 34, PI, TWO_PI);
fill(255);
ellipse(248, 290, 8, 8);
fill(21, 17, 14);
ellipse(245, 255, 47, 10);
//right eye and brow
noStroke();
fill(45, 35, 32);
ellipse(352, 292, 24, 24);
fill(45, 35, 32);
arc(352, 292, 34, 34, PI, TWO_PI);
fill(255);
ellipse(348, 290, 8, 8);
fill(21, 17, 14);
ellipse(356, 255, 47, 10);
//top
noStroke();
fill(0);
quad(194, 508, 408, 508, 398, 600, 204, 600);
//left strap
noStroke();
fill(0);
rect(202, 441, 10, 100);
//hair on top of shoulder
noStroke();
fill(21, 17, 14);
rect(340, 438, 80, 129);
//front hair
noStroke();
fill(21, 17, 14);
ellipse(202, 235, 10, 131);
fill(21, 17, 14);
ellipse(400, 235, 10, 131);
fill(21, 17, 14);
rotate(.78);
translate(-210, -180)
ellipse(600, 80, 187, 76);
noLoop();
}
The most interesting part of this project was figuring out how to communicate a complex portrait through the construction of very simple elements. I had fun experimenting with different color/opacity values and layering shapes.