/* built with Studio Sketchpad: * https://sketchpad.cc * * observe the evolution of this sketch: * https://bard117s14.sketchpad.cc/sp/pad/view/ro.-pr$Le1mnf0/rev.1 * * authors: * Nick Levine * license (unless otherwise specified): * creative commons attribution-share alike 3.0 license. * https://creativecommons.org/licenses/by-sa/3.0/ */ // This sketch builds on a prior work, "Self Portrait", created by Keith O'Hara // http://bard117s14.sketchpad.cc/sp/pad/view/ro.A7dB7f8cmROVdL/rev.66 /* Nick Levine February 4, 2014 [email protected] I wasn't exactly going for accuracy here, but just trying to get a feel for what's possible with the tools we have to work with so far. I tried to use the shapes we learned in clever ways, like layering/masking ellipses to create curved lines. I'm looking forward to learning more shapes and techniques so that I can attempt a more life-like self-portrait next time; still, I enjoyed making this alternate universe Christmas card. */ size(500, 200); smooth(); background(200, 10, 40); //head fill(250, 230, 190); ellipse(250, 100, 100, 130); //right ear ellipse(300, 95, 20, 30); //left ear ellipse(200, 95, 20, 30); //right ear cover noStroke(); ellipse(290, 95, 20, 30); //left ear cover ellipse(210, 95, 20, 30); //left eyebrow stroke(0); strokeWeight(2); ellipse(235, 85, 40, 40); //right eyebrow ellipse(265, 85, 40, 40); //eyebrow cover noStroke(); rect(210, 70, 83, 40); rect(243, 50, 15, 80); //left eye fill(255); stroke(0); strokeWeight(1); ellipse(233, 80, 20, 8); //left pupil noStroke(); fill(80, 40, 0); ellipse(233, 80, 8, 8); fill(255); ellipse(235, 78, 3, 2); //right eye stroke(0); ellipse(267, 80, 20, 8); //right pupil noStroke(); fill(80, 40, 0); ellipse(267, 80, 8, 8); fill(255); ellipse(269, 78, 3, 2); //mouth fill(255); ellipse(250, 115, 40, 50); fill(250, 230, 190); ellipse(250, 105, 55, 40); stroke(250, 230, 190); line(235, 131, 264, 131); line(236, 140, 236, 120); line(243, 140, 243, 120); line(250, 140, 250, 120); line(257, 140, 257, 120); line(264, 140, 264, 120); //nose stroke(100, 85, 65); line(255, 105, 250, 90); line(255, 105, 245, 103); //trees noStroke(); fill(100, 60, 20); rect(410, 130, 20, 40); rect(70, 130, 20, 40); fill(60, 130, 60); triangle(440, 60, 420, 20, 400, 60); triangle(460, 100, 420, 40, 380, 100); triangle(480, 140, 420, 60, 360, 140); triangle(60, 60, 80, 20, 100, 60); triangle(40, 100, 80, 40, 120, 100); triangle(20, 140, 80, 60, 140, 140);