xxxxxxxxxx
var tInc = 0.01;
var axInc = 0.01/2;
var ayInc = 0.02/2;
var azInc = 0.03/2;
var grid;
var t = 0;
var ax = 0;
var ay = 0;
var az = 0;
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
grid = floor(min(windowWidth,windowHeight)/20);
noStroke();
}
function draw() {
background(0);
// rotateX(PI/3);
// rotateY(PI/3);
// rotateZ(0);
rotateX(ax);
rotateY(ay);
rotateZ(az);
translate(-width/2,-height/2,0);
// Lights
ambientLight(50);
directionalLight(201, 180, 176, 0.25, 0.25, 0);
pointLight(255,0,0, mouseX, mouseY, 0);
// specularMaterial(250);
ambientMaterial(201, 180, 176);
for(var i = 0; i < width / grid; i++){
for(var j = 0; j < height / grid; j++){
push()
var x = i * grid;
var y = j * grid;
var z = map(noise(x, y, t), 0, 1, -mouseY/2, mouseY/2);
translate(x, y, z);
sphere(grid / 2);
pop();
}
}
t += tInc;
ax += axInc*mouseX/windowWidth;
ay += ayInc*mouseX/windowWidth;
ax += azInc*mouseX/windowWidth;
}