Arcman (2025/10/31)
https://gyazo.com/07d86f646c0ec3e5494ce38f131cb289 https://gyazo.com/c371d99cd2eb723c1b3ee583dd599513 https://gyazo.com/9d7173a1b0e82b9f66d9492b2f2d11ef
https://scrapbox.io/files/6904b264ca36eafb239b1d16.mp4
https://x.com/hisadan/status/1984243030531203431
https://x.com/hisadan/status/1984243033236459786
code:processing
//#Processing
int n=99, i, s;
float a[]=new floatn*2, d, m, x, y, t, r;
void setup() {
size(800, 800);
for (i=0; i<n*2; )ai++=500-random(1000);
}
void draw() {
background(0);
for (i=0; i<n; i++) {
m=99;
for (s=0; s<n; s++) {
if (i!=s) {
d=dist(ai, ai+n, as, as+n);
if (d<m)m=d;
}
}
if (abs(ai+=x=cos(r=TAU*noise(ai/999, ai+n/999)))>500)ai*=-1;
if (abs(ai+n+=y=sin(r))>500)ai+n*=-1;
arc(ai+400, ai+n+400, m, m, atan2(y, x)+abs(r=sin(t+i)*PI/5), atan2(y, x)-abs(r)+TAU);
}
t+=PI/20;
}