反射FlowField (2025/10/20)
https://gyazo.com/c72dd77193fcb404d8099510915e840b https://gyazo.com/ec05db5f128c81cf13639da503a6cc00 https://gyazo.com/bd29a5aec0d7e2d9dedc09d139536836
https://scrapbox.io/files/68f630422c08b4a90c6297ac.mp4
https://x.com/hisadan/status/1980254936324854119
https://x.com/hisadan/status/1980254939495739434
端で反射。
単調になりすぎないようにちょっとRandom()を入れてみたり。
code:processing
//#Processing
int n=9999, i;
float a[]=new floatn*4, r, t;
void setup() {
size(800, 800);
for (i=0; i<n*2; i++) {
ai=400-random(800);
ai+n*2=1;
}
colorMode(HSB);
background(0);
}
void draw() {
stroke((t+=.5)%256, 255, 255, 50);
for (i=0; i<n; i++) {
point(ai+400, ai+n+400);
ai+n*2*=abs(ai)+1>400?-1:1;
ai+n*3*=abs(ai+n)+1>400?-1:1;
ai+=random(-.2, .2)+ai+n*2*sin(r=TAU*noise(ai*.001, ai+n*.001));
ai+n+=random(-.2, .2)+ai+n*3*cos(r);
}
}