ニセ流体 (2025/11/10)
https://gyazo.com/bed5d1563b5263fc8f0cc03858303c9d https://gyazo.com/979954513f8631d5a7c0455f8051c844 https://gyazo.com/ac1f49be361bfd9d4bd1e728a250b1cf
https://scrapbox.io/files/6911e3304d3920d51d1c7578.mp4
https://x.com/hisadan/status/1987868839623954923
https://x.com/hisadan/status/1987868841561710693
ちゃんとした流体計算をせずに、それっぽく作成。
本当は後方に渦(できればカルマン渦っぽいかっこいいやつ)を短いコードで追加できないかと思ったんだけど、良い方法が思いつかず…。
偽物計算で良いので、それっぽくなる方法、無いかなあ。
code:processing
//#Processing
int n=9999, i;
float a[]=new floatn*2, d=99, m, r;
void setup() {
size(800, 800);
for (i=0; i<n; i++)if (mag(ai=400-random(800), ai+n=400-random(800))<d)i--;
background(0);
}
void draw() {
fill(0, 9);
square(-1, -1, 802);
stroke(-1);
for (i=0; i<n; i++) {
r=atan2(ai+n, ai);
m=mag(ai, ai+n);
ai+=cos(r)*d/m+1;
ai+n+=sin(r)*sq(d/m)/2;
if (ai>400) {
ai-=800;
ai+n=400-random(800);
}
circle(ai+400, ai+n+400, 2);
}
circle(400, 400, d*2);
}