xxxxxxxxxx
//Grant Parish, Art 3001, hesgrant@gmail.com
void setup()
{
size(500,500);
}
int a1 = 61;
int a2 = 150;
void draw()
{
int x = mouseX;
int y = mouseY;
background(255);
noFill();
strokeWeight(4);
beginShape(); //bottom right tentacle
vertex(x+40,y+67);
bezierVertex(x+65,y+120,x+150,y+100,425,370);
endShape();
beginShape(); //bottom left tentacle
vertex(x-40,y+67);
bezierVertex(x-65,y+120,x-150,y+100,75,370);
endShape();
beginShape(); //top left tentacle
vertex(x-60,y-50);
bezierVertex(x-120,y-125,x-170,y,a1,a2);
endShape();
beginShape(); //top right tentacle
vertex(x+60,y-50);
bezierVertex(x+120,y-125,x+170,y,439,150);
endShape();
fill(100);
triangle(x-60,y-50,x-40,y-20,x-20,y-40); //top left base
triangle(x+60,y-50,x+40,y-20,x+20,y-40); //top right base
triangle(x-40,y+67,x,y+40,x-30,y+20); //bottom left base
triangle(x+40,y+67,x,y+40,x+30,y+20); //bottom right base
fill(100);
triangle(75,370,100,425,50,425); //bottom left claw
triangle(425,370,400,425,450,425); //bottom right claw
triangle(15,125,60,150,15,175); //top left claw
triangle(485,125,440,150,485,175); //top right claw
noStroke();
fill(255);
triangle(75,400,90,430,60,430); //bottom left cover
triangle(425,400,410,430,440,430); //bottom right cover
triangle(10,135,40,150,10,165); //top left claw
triangle(490,135,460,150,490,165); //top right claw
stroke(0);
strokeWeight(1);
fill(150);
ellipse(x,y,100,100);
stroke(0);
fill(200);
ellipse(x-25,y-5,35,25);
ellipse(x+25,y-5,35,25);
fill(0,200,200);
ellipse(x-30,y,35,25);
ellipse(x+30,y,35,25);
}