void setup() {
//Set the size of the window
size(400, 400);
strokeWeight(0.5);
frameRate(30);
}
void draw() {
//Draw a lightblue background
background(7, 229, 243);
//Draw silhouette
fill(0);
ellipseMode(CENTER);
ellipse(90 + mouseX*1, 20, 70, 30);
rectMode(CENTER);
rect(55 + mouseX*1, 20, 60, 30);
triangle(20 + mouseX*1, 55, 30 + mouseX*1, 20, 70 + mouseX*1, 20 );
//vulcus's shadow
ellipseMode(CENTER);
fill(0, 0, 0, 63);
ellipse(200, 375, 300, 30);
//Draw vulcus's tail
fill(230);
quad(200+5*sin(frameCount*.06), 240, 321+5*sin(frameCount*.06), 120, 324+5*sin(frameCount*.06), 120, 202+5*sin(frameCount*.06), 280);
//Draw vulcus's stomach
ellipseMode(CENTER);
fill(250);
ellipse(200, 200+5*sin(frameCount*.06), 60, 120);
//Draw vulcus's chest A
ellipseMode(CENTER);
fill(190);
ellipse(200, 150+5*sin(frameCount*.06), 130, 80);
//Draw vulcus's chest B
ellipseMode(CENTER);
fill(230);
ellipse(200, 140+5*sin(frameCount*.06), 100, 60);
//Draw vulcus's neck
fill(250);
triangle(180, 135, 200, 75, 220, 135);
//Draw vulcus's head A
ellipseMode(CORNER);
fill(220);
ellipse(100+mouseX*.01, 33+5*sin(frameCount*.06), 200+mouseX*.01, 70);
//Draw vulcus's head B
ellipseMode(CENTER);
fill(250);
ellipse(165+mouseX*.01, 65+5*sin(frameCount*.06), 145+mouseX*.01, 60);
//Draw vulcus's eye
ellipse(139+mouseX*.01, 65+5*sin(frameCount*.06), 20+mouseX*.01, 10-mouseY*0.1);
//Draw vulcus's head C
ellipseMode(CENTER);
fill(232, 151, 19, 63);
ellipse(160+mouseX*.01, 65+5*sin(frameCount*.06), 160+mouseX*.01, 60);
//Draw vulcus's waist
fill(250);
triangle(180, 250, 190, 290+5*sin(frameCount*.06), 230, 243);
//Draw vulcus's shoulders
ellipse(130, 140+5*sin(frameCount*.06), 30, 30);
ellipse(270, 140+5*sin(frameCount*.06), 30, 30);
fill(6, 180, 270);
ellipse(125, 135+5*sin(frameCount*.06), 18, 16);
ellipse(275, 135+5*sin(frameCount*.06), 18, 16);
//Draw vulcus's biceps
ellipseMode(CORNER);
fill(250);
ellipse(255, 155+5*sin(frameCount*.06), 24, 64);
ellipseMode(CORNER);
ellipse(75, 150+5*sin(frameCount*.06), 64, 24);
//Draw vulcus's forearms
fill(190);
ellipseMode(CENTER);
ellipse(225, 265+5*sin(frameCount*.06), 50, 40);
fill(230);
ellipseMode(CENTER);
ellipse(180, 162+5*sin(frameCount*.06), 20, 15);
ellipseMode(CENTER);
ellipse(230, 320+5*sin(frameCount*.06), 28, 66);
fill(250);
quad(220, 310, 210, 267+2*sin(frameCount*.06), 250, 262+2*sin(frameCount*.06), 240, 310+5*sin(frameCount*.06));
fill(190);
rectMode(CENTER);
rect(185, 175+5*sin(frameCount*.06), 35, 20);
fill(230);
ellipseMode(CENTER);
fill(230);
ellipse(105, 175 +5*sin(frameCount*.06), 145, 32);
ellipseMode(CENTER);
fill(230);
ellipse(266, 260+5*sin(frameCount*.06), 32, 100);
//Draw vulcus's fingers
fill(220);
ellipseMode(CENTER);
ellipse(210, 169+5*sin(frameCount*.06), 30, 10);
ellipseMode(CENTER);
ellipse(210, 183+5*sin(frameCount*.06), 30, 10);
ellipseMode(CENTER);
ellipse(276, 338+5*sin(frameCount*.06), 10, 30);
ellipseMode(CENTER);
ellipse(256, 338+5*sin(frameCount*.06), 10, 30);
ellipseMode(CORNER);
ellipse(241, 301+5*sin(frameCount*.06), 15, 20);
fill(190);
rect(266, 315+5*sin(frameCount*.06), 25, 35);
//Draw vulcus's legs
ellipseMode(CORNER);
ellipse(50, 250+5*sin(frameCount*.06), 145, 30);
fill(250);
quad(54, 269, 140, 320+2*sin(frameCount*.06), 142, 320+2*sin(frameCount*.06), 100, 270+2*sin(frameCount*.06));
fill(220);
ellipseMode(CORNER);
ellipse(114, 292+5*sin(frameCount*.06), 28, 66);
fill(190);
ellipseMode(CENTER);
ellipse(117, 360, 40, 20);
ellipseMode(CENTER);
ellipse(235, 355, 35, 30);
fill(250);
triangle(80, 370, 110, 350, 120, 370);
triangle(215, 358, 225, 380, 233, 358);
triangle(237, 358, 255, 380, 252, 358);
}