var numPlanets = 10; var arms = 11; var speed = 0.085; var tick = 0; translate(200, 200); var versionalBackground = function(flex) { for(var s = 30; s < arms * 50; s += 20) { pushMatrix(); for(var p = 1; p < numPlanets + 100; p++) { fill(255, 0, 60 * p +20); ellipse(0, 0, 30 / p, 30 / p); translate(sin(tick * p + s) * (8 / (p * flex)), cos(tick * p + s) * (8 / (p * 0.1))); } popMatrix(); } }; var draw = function() { background(0); tick += speed; rotate(90); versionalBackground(0.1); versionalBackground(0.2); };