console
function setup() {
createCanvas(540, 540);
background(0);
color = color('#ec94e5');
colorMode('HSB',100);
}
var num = 0;
var angle = -Math.PI,
r = 100;
var N = 14,
n = 2;
var th, r, t;
var speed = 7e-3;
function walk()
{
var options = [{r: random(1, 5),l: 0},
{r: 0,l: PI / random(1, 10)},
{r: -random(1, 5),l: 0},
{r: 0,l: -PI / random(1, 10)},
{r: random(1, 5),l: PI / random(1, 10)},
{r: -random(1, 5),l: -PI / random(1, 10)
}, {
r: random(1, 5),
l: -PI / random(1, 10)
}, {
r: -random(1, 5),
l: PI / random(1, 10)
}]
var selected = random(options);
angle += selected.l;
r += selected.r;
}
function draw() {
t = (Date.now() * speed) % 1;
stroke(255);
t = (Date.now() * speed) % 1;
translate(width / 2, height / 2);
for (var i = 0; i <20; i++)
{
walk();
for (var j = 0; j < 20; j++) {
stroke(255 / 12 * i, num % 255, r)
x = r * cos(angle + i * TWO_PI / 12);
y = r * sin(angle + i * TWO_PI / 12);
th = TWO_PI * i / N;
rotate(th);
r = 130 + 90 * cos( TWO_PI * t );
ellipse(r, y, 0.1, 0.1);
}
}
}
<script src=“https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/p5.min.js”></script>