/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://bard117s14.sketchpad.cc/sp/pad/view/ro.J6BZI278FuQ/rev.60
*
* authors:
* Zoe Azulay
* 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 II", created by Keith O'Hara
// http://bard117s14.sketchpad.cc/sp/pad/view/ro.AfNeVls4vddifn/rev.71
//press any key to watch her dance!
float r=100;
float g=100;
float b=100;
float x=100;
float y=50;
float armx=450;
float army=400;
float speed=1;
float legx=50;
float legy=450;
void setup() {
size(600, 400);
frameRate(60);
}
void draw() {
background(138, 212, 245);
//clouds
stroke(255);
strokeWeight(50);
point(100, 50);
point(120, 50);
point(140, 50);
point(500, 300);
point(510, 300);
point(520, 300);
noStroke();
fill(255, 255, 50);
ellipse(475, 100, 100, 120);
strokeWeight(1);
stroke(0);
line(475, 160, armx, army);
fill(255);
noStroke();
strokeWeight(0);
rect(445, 80, 15, 15);
if (keyPressed) {
strokeWeight(1);
line(300, 305, 300, 255);
line(310, 280, 290, 280);
background(r, g, b);
r=random(20, 255);
g=random (10, 255);
b=random (10, 255);
stroke(255);
strokeWeight(0);
fill(250, 250, 250, 20);
ellipse(100, 100, 100, 100);
noStroke();
fill(r, g, b);
r=random(20, 255);
g=random (10, 255);
b=random (10, 255);
ellipse(x, y, 20, 20);
x=random(70, 150);
y=random(80, 135);
stroke(161, 41, 214);
strokeWeight(50);
line(240, 400, 200, 400);
line(360, 400, 410, 400);
frameRate(90);
line(430, 400, armx, army);
army=army-speed;
}
fill(255, 207, 160);
noStroke();
ellipse(300, 200, 200, 300);
//eyes
point(295, 245);
point(310, 245);
strokeWeight(0);
stroke(0);
//Neck
fill(161, 41, 214);
rectMode(CENTER);
rect(300, 400, 75, 100);
strokeWeight(50);
//arm
if (army<100) {
speed=speed*-1;
}
else if (army>300) {
speed=1;
}
//eyes
strokeWeight(20);
stroke(24, 80, 9);
point(260, 175);
point(340, 175);
//lips
strokeWeight(20);
stroke(255, 0, 0);
line(290, 280, 310, 280);
line(290, 265, 310, 265);
stroke(161, 41, 214);
//hair
strokeWeight(30);
stroke(160, 79, 18);
point(300, 60);
point(300, 75);
point(250, 70);
point(350, 65);
point(310, 60);
strokeWeight(50);
point(200, 150);
point(210, 140);
point(210, 120);
point(210, 100);
point(200, 130);
point(200, 90);
point(300, 90);
point(350, 100);
point(325, 100);
point(250, 60);
point(225, 70);
point(200, 250);
point(390, 250);
point(240, 100);
point(200, 290);
point(200, 220);
point(200, 200);
point(390, 200);
point(390, 220);
point(390, 180);
point(390, 260);
point(390, 150);
point(380, 130);
point(360, 120);
point(350, 110);
point(340, 90);
point(300, 90);
point(300, 70);
point(320, 70);
point(290, 70);
point(390, 280);
point(360, 290);
point(200, 330);
point(200, 350);
if (keyPressed) {
//mouth
noStroke();
fill(255, 0, 0);
ellipse(300, 280, 50, 100);
fill(255);
ellipse(300, 280, 25, 50);
//earrings
stroke(225, 190, 49);
strokeWeight(80);
point(200, 250);
point(390, 250);
//necklace
strokeWeight(20);
point(340, 380);
point(320, 385);
point(300, 395);
point(280, 385);
point(260, 380);
//Eye Lashes
strokeWeight(6);
stroke(0);
line(265, 167, 270, 130);
line(260, 167, 255, 130);
line(255, 167, 240, 130);
line(265, 183, 275, 215);
line(260, 183, 254, 215);
line(255, 183, 240, 215);
line(335, 168, 327, 140);
line(340, 168, 345, 140);
line(345, 168, 360, 140);
line(335, 183, 325, 215);
line(340, 183, 345, 215);
line(345, 183, 360, 215);
//eyes
strokeWeight(20);
stroke(24, 80, 9 );
point(260, 175);
point(340, 175);
//bow
strokeWeight(20);
stroke(245, 138, 238);
point(340, 70);
point(345, 80);
point(350, 90);
}
//fingers
;
stroke(161, 41, 214);
strokeWeight(50);
line(240, 400, 200, 400);
line(360, 400, 410, 400);
//arm
strokeWeight(50);
line(430, 400, armx, army);
stroke(255, 207, 160);
strokeWeight(60);
point(armx, army);
}