
let scale = 0.002; // ๋
ธ์ด์ฆ์ '์ค ๋ ๋ฒจ' (์์์๋ก ์๋งํ๊ฒ)
function setup() {
createCanvas(800, 800);
background(20);
stroke(255);
}
function draw() {
background(20, 20);
// ๊ทธ๋ฆฌ๋ ๊ฒฉ์๋ง๋ค ๋
ธ์ด์ฆ ๊ฐ์ ํ์ธ
for (let x = 0; x < width; x += 30) {
for (let y = 0; y < height; y += 30) {
// 2์ฐจ์ ์ขํ๋ฅผ ๋
ธ์ด์ฆ ํจ์์ ์ ๋ฌ (0.0 ~ 1.0 ์ฌ์ด ๊ฐ ๋ฐํ)
let n = noise(x * scale, y * scale);
// ์๊ฐ์ ๋ฐ๋ผ ์ง๋ํ๋ ๊ฐ๋ ๋ฒ์
let angle = n * (TWO_PI + sin(frameCount * 0.01) * 2 * PI);
// ํด๋น ๊ฐ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ฒกํฐ ์์ฑ
let v = p5.Vector.fromAngle(angle);
v.setMag(30); // ์ ์ ๊ธธ์ด
push();
translate(x, y);
line(0, 0, v.x, v.y);
pop();
}
}
}