noise関数を多重に使ってみた (2025/10/6)
https://gyazo.com/879ff097f411ada5a09a68f449459776 https://gyazo.com/b0ce57acf57413c90155951fa4f7727a https://gyazo.com/c0c1d0df803a41f4e41eb0aae5ac0009
https://scrapbox.io/files/68e3c000a3588cab4bb1f659.mp4
地形っぽいものを作るときに、ノイズ関数を単純に使うと、なんかノイズの密度(って言っていいのかな?)が一律になっちゃうので、場所によってノイズの密度が変わるように、ノイズをネストしてみた。
なんでこの色にしちゃったんだろう…とは思うけど、まあ、これはこれで。
code:processing
//#Processing
float x, y, t, c, w=2;
void setup() {
size(800, 800, P3D);
}
void draw() {
background(0);
noStroke();
camera(400, 400, 400, 0, 0, 0, 0, 0, -1);
lights();
for (x=-500; x<500; x+=w) {
for (y=-500; y<500; y+=w) {
fill(255, c=99+99*noise(x/99, y/99), c);
beginShape(QUAD_STRIP);
h(x, y);
h(x, y+w);
h(x+w, y);
h(x+w, y+w);
endShape();
}
}
t+=.01;
}
void h(float x, float y) {
float d=100+500*noise(x/99, y/99, t);
vertex(x, y, 300*noise(x/d, y/d));
}