From 97c2a747123d680162326056d52b61d77ce4b819 Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Mon, 5 Feb 2024 23:28:53 +0200 Subject: [PATCH] complete exercise 0.10 --- 0. Randomness/10. Perlin elevated/index.html | 15 +++++++ 0. Randomness/10. Perlin elevated/sketch.js | 43 ++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 0. Randomness/10. Perlin elevated/index.html create mode 100644 0. Randomness/10. Perlin elevated/sketch.js diff --git a/0. Randomness/10. Perlin elevated/index.html b/0. Randomness/10. Perlin elevated/index.html new file mode 100644 index 0000000..c390616 --- /dev/null +++ b/0. Randomness/10. Perlin elevated/index.html @@ -0,0 +1,15 @@ + + + + + + + +
+
+ + diff --git a/0. Randomness/10. Perlin elevated/sketch.js b/0. Randomness/10. Perlin elevated/sketch.js new file mode 100644 index 0000000..ba936ea --- /dev/null +++ b/0. Randomness/10. Perlin elevated/sketch.js @@ -0,0 +1,43 @@ +let t = 0 +let animationSpeed = 0.0008 + +function setup() { + createCanvas(640, 240, WEBGL) + pixelDensity(1) +} + +function draw() { + background(255); + + let pointsX = 20 + let pointsY = 40 + let pointGap = 10 + + let zs = [] + for (let y = 0; y < pointsY+1; y++) { + for (let x = 0; x < pointsX; x++) { + let increment = 0.1 + zs.push(noise(x*increment, y*increment, t*animationSpeed)) + } + } + + push() + rotateX(PI/3) + rotateZ(0.0001*t) + scale(pointGap) + translate(-pointsX/2, -pointsY/2, 0) + + for (let y = 0; y < pointsY; y++) { + beginShape(QUAD_STRIP) + for (let x = 0; x < pointsX; x++) { + fill(zs[x + y * pointsX] * 255, 255) + vertex(x, y, zs[x + y * pointsX] * 10) + vertex(x, y+1, zs[x + (y+1) * pointsX] * 10) + } + endShape() + } + + pop() + + t += deltaTime +}