xxxxxxxxxx
49
let angles = []; let r = 15;
let num = 15; let t = 10;
let cols = 10; let rows = 10;
let xoff = 0; let yoff = 0;
let offset = 25; let inc = 0.7;
function setup() {
createCanvas(400, 400);
angleMode(DEGREES);
xoff = 0;
for (let i=0; i<cols; i++) {
angles[i] = [];
yoff = 0;
for (let j=0; j<rows; j++) {
// angles[i][j] = 360*noise(xoff, yoff);
angles[i][j] = 0;
yoff+=inc;
}
xoff+=inc;
}
}
function draw() {
background(0, 0, 100);
noStroke();
translate(width/2, height/2);
for (let i=0; i<cols; i++) {
for (let j=0; j<rows; j++) {
push();
for (let k=0; k<num; k++) {
if(k == num-1) {
fill(255);
} else {
fill(255, k*255/num);
}
// ellipse(offset/2 + i*offset + r*k/num*sin(angles[i][j] + t*k) + k*(i-floor(cols/2))*0.7 - offset*cols/2,
// offset/2 + j*offset + r*k/num*cos(angles[i][j] + t*k) + k*(j-floor(cols/2))*0.7 - offset*rows/2,
// k+10, k+10);
ellipse(offset/2 + i*offset + r*k/num*sin(angles[i][j] + t*k) + k*(i-floor(cols/2))*0.7 - offset*cols/2,
offset/2 + j*offset + r*k/num*cos(angles[i][j] + t*k) + k*(j-floor(cols/2))*0.7 - offset*rows/2,
k+10, k+10);
}
// angles[i][j] += 4;
pop();
}
}
// fill(255, 0, 0);
// ellipse(0, 0, 10, 10);
}