void setup() { size(600, 600); smooth(); frameRate(30); background(0); strokeWeight(2); colorMode(HSB); } void draw() { noStroke(); fill(0, 5); rect(0, 0, width, height); noFill(); stroke((frameCount * 0.3) % 255, 255, 255, 30); strokeWeight(3 + sin(radians(frameCount))); translate(width / 2, height / 2); rotate(radians(frameCount) * sin(frameCount * 0.01)); beginShape(); float n = noise(frameCount * 0.01) * 200.0; for (int i = 0; i < 360; i++) { int x = (int) (sin(radians(i * 2)) * (5.0 - 10.0 * sin(radians(frameCount * 0.1))) * cos(radians(i + frameCount + n)) * 100.0); int y = (int) (cos(radians(i * 2)) * (6.0 - 12.0 * sin(radians(frameCount * 0.23))) * sin(radians(i + frameCount + n)) * 100.0); curveVertex(x, y); } endShape(); }