xxxxxxxxxx
20
f=Array(99).fill().map((v, i) => [0,0,i])
draw=_=> {
createCanvas(s=720, s);
f=f.map(([x,y,a]) => (
circle(x*s,y*s,20*a),
[
fract(x + cos(a)*0.01),
fract(y + sin(a)*0.01),
(a + f.reduce((m,[u,v,w]) => (
d = dist(x,y,u,v) * 0.001,
m
- w * d
+ (atan2(y-v,x-u) - PI) * d
),0))*0.9
]
));
}