干渉 (2026/4/23)
https://gyazo.com/c5416023b92a56b5a2d9d475fe7590b8 https://gyazo.com/1da5a04327ec39c2aaf7635351ccd0ca https://gyazo.com/cbf3272743e85196f2fdf6a6ece3ce46
https://scrapbox.io/files/69ea3298fc4464f697c5943a.mp4
https://x.com/hisadan/status/2047327875284836578
https://x.com/hisadan/status/2047327877654589745
code:processing
//#Processing
float x, y, t, a[]=new float8;
int i;
void setup() {
size(800, 800, P3D);
for (i=0; i<8; i++)ai=400-random(800);
}
void draw() {
background(-1);
noFill();
camera(700, 700, -t*40, 0, 0, 0, 0, 0, -1);
for (x=-600; x<600; x+=9)for (y=-600; y<600; y+=9) {
stroke(0, 3e6/sq(mag(x, y)));
beginShape();
h(x, y);
h(x+9, y);
h(x+9, y+9);
h(x, y+9);
endShape();
}
for (i=0; i<4; i++)ai+=(ai+4*=abs(ai+ai+4/99)>400?-1:1)/200;
t-=.01;
}
void h(float p, float q) {
float f=dist(p, q, a0, a1), g=dist(p, q, a2, a3);
vertex(p, q, (sin(f/9+t)/f-sin(g/9+t)/g)*3000);
}