float angle = 0; float angleSpeed = 0.03; float noiseScale = 0.02; int lines = 400; void setup() { size(800, 800); background(255); } void draw() { translate(width / 2, height / 2); // Cambio gradual de fondo hacia blanco fill(255, 10); rectMode(CENTER); rect(0, 0, width, height); for (int i = 0; i < lines; i++) { float x1 = cos(angle * i + noise(i) * 10) * 200; float y1 = sin(angle * i + noise(i) * 10) * 200; float x2 = cos(angle * i * 1.5 + noise(i) * 10) * 300; float y2 = sin(angle * i * 1.5 + noise(i) * 10) * 300; stroke(0); line(x1, y1, x2, y2); float x3 = cos(angle * i * 2 + noise(i) * 7) * 100; float y3 = sin(angle * i * 2 + noise(i) * 6) * 100; float x4 = cos(angle * i * 2.5 + noise(i) * 10) * 150; float y4 = sin(angle * i * 2.5 + noise(i) * 10) * 150; line(x3, y3, x4, y4); // Efecto de zoom sutil float zoomFactor = map(sin(angle * i), -1, 1, 0.95, 1.05); scale(zoomFactor); } // Círculos adicionales para mayor complejidad for (int j = 0; j < 50; j++) { float x = cos(angle * j * 1.2) * 200; float y = sin(angle * j * 1.2) * 150; noStroke(); fill(0, 50); ellipse(x, y, 20, 50); } angle += angleSpeed; }