int z = 5, nb = 4, mode = 0;
PVector[] pvs = new PVector[nb];
o = new PVector(width/2, height/2);
p.resize(width + 2*z, height + 2*z);
translate(width/2, height/2);
rotate((noise(float(frameCount)/100)-.5)*.8);
translate(-width/2, -height/2);
tint(255, 220+(1+sin(float(frameCount)/120))*12, 255);
translate(width/2, height/2);
float t = atan2(mouseY - o.y, mouseX - o.x);
float d = dist(mouseX, mouseY, o.x, o.y);
stroke((1+cos(float(frameCount)/60)) * 127, 106, (1+sin(float(frameCount)/120)) * 127);
for (int i = 0; i < nb; i ++)
point(d * cos(t + i * TWO_PI / nb), d * sin(t + i * TWO_PI / nb));
beginShape(TRIANGLE_FAN);
stroke((1+cos(float(frameCount)/60)) * 127, 166, (1+sin(float(frameCount)/120)) * 127);
for (int i = 0; i < nb; i ++)
vertex(d * cos(t + i * TWO_PI / nb), d * sin(t + i * TWO_PI / nb));
vertex(d * cos(t), d * sin(t));
z = min(int(z+map(abs(z), 0, 50, 1, 10)), 50);
else if (keyCode == DOWN)
z = max(int(z-map(abs(z), 0, 50, 1, 10)), -50);
else if (keyCode == LEFT)
else if (keyCode == RIGHT)