See: https://openprocessing.org/sketch/1519493



// NOTICE: CODE IS A MESS
void setup(){
size(500,800);
background(255);
translate(width/2-10, height/2-5);
frameRate(5);
}
void draw(){
mouse = true;
background(255, 192, 203);
translate(width/2-10, height/2-180);
generate();
}
public void arm(float c){
float p1x = 0;
float p1y = -100;
float p2x = p1x + random(5,20);
float p2y = p1y + random(10);
float p3x = p2x + random(10);
float p3y = p2y + random(50, 100);
float p4x = p3x + random(-5);
float p4y = p3y + random(10,30);
float p5x = p3x + random(20,200);
float p5y = p3y + random(10,100);
fill(c);
beginShape();
vertex(p1x,p1y);
vertex(p2x,p2y);
vertex(p3x, p3y);
vertex(p3x, p3y);
vertex(p5x, p5y);
vertex(p5x, p5y+ random(5,10));
vertex(-p4x,p4y);
vertex(-p3x,p3y);
vertex(-p2x,p2y);
vertex(p1x,p1y);
endShape();
}
float offset;
public void torso(float c){
float p1x = random(10,20);
float p1y = -100;
float p2x = p1x + random(10);
float p2y = p1y + random(100,150);
float p3x = p2x + random(10);
float p3y = p2y + random(100, 150);
fill(c);
beginShape();
vertex(p1x,p1y);
vertex(p2x,p2y+ random(40));
vertex(p3x, p3y+ random(40) + 20);
vertex(-p3x, p3y+ random(40)+ 20);
vertex(-p2x, p2y + random(40));
vertex(-p1x, p1y);
vertex(p1x, p1y);
endShape();
offset = p3y;
}
public void legs(float c){
float p1x = 0;
float p1y = offset;
float p2x = p1x + random(5,20);
float p2y = p1y + random(10);
float p3x = p2x + random(10);
float p3y = p2y + random(50, 100);
float p4x = p3x + random(-5);
float p4y = p3y + random(10,30);
float p5x = p3x + random(10,150);
float p5y = p3y + random(10,300);
fill(c);
beginShape();
vertex(p1x,p1y);
vertex(-p2x,p2y);
vertex(-p3x, p3y);
vertex(-p3x, p3y);
vertex(-p5x, p5y);
vertex(-p5x, p5y+ random(5,10));
vertex(p4x,p4y);
vertex(p3x,p3y);
vertex(p2x,p2y);
vertex(p1x,p1y);
endShape();
}
public void head(float c){
float p1x = 0;
float p1y = offset+20;
float p2x = p1x + random(5,20);
float p2y = p1y + random(10,20);
float p3x = p2x + random(10);
float p3y = p2x + random(20,25);
fill(c);
beginShape();
vertex(p1x,-p1y);
vertex(-p2x,-p2y);
vertex(-p3x, -p3y+ 20);
vertex(-p3x, -p3y + 20);
vertex(p3x,-p3y);
vertex(p2x,-p2y);
vertex(p1x,-p1y);
endShape();
fill(255);
ellipse(10,-offset + 20,30,30);
fill(0);
ellipse(10,-offset +20,10,10);
}
public void generate(){
arm(200);
legs(200);
torso(220);
head(220);
arm(220);
legs(220);
}
boolean mouse = false;
void mousePressed(){
if(mouse == false){
mouse = true;
background(255, 192, 203);
translate(width/2-10, height/2-180);
generate();
}
}
void mouseReleased(){
mouse = false;
}
