xxxxxxxxxx
109
let colonne, righe;
let scala = 30;
let rumore_perlin = [];
let altezza = 200;
let perlin_x = 0, perlin_y = 0;
let incr_perlin = 0.06 * 0.498;
let movimento = 0;
let vel_movimento = 0.0065 * 1.6;
function setup() {
//createCanvas(displayWidth, displayHeight, WEBGL);
createCanvas(windowWidth, windowHeight);
colonne = width * 2 / scala;
righe = height * 2 / scala;
altezza = height * 0.8;
frameRate(18);
}
function draw() {
movimento -= vel_movimento;
perlin_x = 0;
for (let i = 0; i < colonne; i++) {
rumore_perlin[i] = [];
perlin_y = movimento;
for (let j = 0; j < righe; j++) {
rumore_perlin[i][j] = map(noise(perlin_x, perlin_y), 0, 1, - altezza * 2, altezza);
perlin_y += incr_perlin;
}
perlin_x += incr_perlin;
}
background(38,69,124, 30);
stroke(255, 80);
noFill();
for (let j = 0; j < righe - 1; j++) {
beginShape(TRIANGLE_FAN);
for (let i = 0; i < colonne; i++) {
vertex(i * scala * rumore_perlin[i][j], j * scala);
vertex(i * scala * rumore_perlin[i][j], (j + 1) * scala);
if (j * scala * rumore_perlin[i][j] < height &&
j * scala * rumore_perlin[i][j] > 0 &&
i * scala < width &&
i * scala > 0) {
text(rumore_perlin[i][j], i * scala * rumore_perlin[i][j], j * scala * rumore_perlin[i][j]);
}
} //fine for colonne
endShape();
} //fine for righe
stroke(20, 20, 100, 70);
for (let j = 0; j < righe - 1; j++) {
beginShape(TRIANGLES);
for (let i = 0; i < colonne; i++) {
vertex(i * scala * rumore_perlin[i][j], j * scala / 1.2);
vertex(i * scala * rumore_perlin[i][j], (j + 1) * scala/1.2);
} //fine for colonne
endShape();
} //fine for righe
stroke(20, 20, 60, 50);
for (let j = 0; j < righe - 1; j++) {
beginShape(TRIANGLE_STRIP);
for (let i = 0; i < colonne; i++) {
vertex(i * scala * rumore_perlin[i][j], j * scala / 1.3);
vertex(i * scala * rumore_perlin[i][j], (j + 1) * scala/1.3);
} //fine for colonne
endShape();
} //fine for righe
} //fine draw