Renamed JS folder and started learning Crystal
This commit is contained in:
33
JavaScript/SimpleWebServer/public/JS/Animatething/animate.js
Normal file
33
JavaScript/SimpleWebServer/public/JS/Animatething/animate.js
Normal file
@@ -0,0 +1,33 @@
|
||||
let angle = 0;
|
||||
let w = 24;
|
||||
let ma;
|
||||
let maxD;
|
||||
|
||||
function setup() {
|
||||
createCanvas(400, 400, WEBGL);
|
||||
ma = atan(cos(QUARTER_PI));
|
||||
maxD = dist(0, 0, 200, 200);
|
||||
}
|
||||
|
||||
function draw() {
|
||||
background(100);
|
||||
ortho(-400, 400, 400, -400, 0, 1000);
|
||||
rotateX(-ma);
|
||||
rotateY(-QUARTER_PI);
|
||||
|
||||
for (let z = 0; z < height; z += w) {
|
||||
for (let x = 0; x < width; x += w) {
|
||||
push();
|
||||
let d = dist(x, z, width / 2, height / 2);
|
||||
let offset = map(d, 0, maxD, -PI + 2, PI + 2);
|
||||
let a = angle + offset;
|
||||
let h = floor(map(sin(a), 0, 1, 100, 300));
|
||||
translate(x - width / 2, 0, z - height / 2);
|
||||
normalMaterial();
|
||||
box(w, h, w);
|
||||
pop();
|
||||
}
|
||||
}
|
||||
|
||||
angle -= 0.05;
|
||||
}
|
||||
Reference in New Issue
Block a user