40 lines
939 B
JavaScript
40 lines
939 B
JavaScript
let divisions = 3,
|
|
padding = 10,
|
|
cell_size,
|
|
total_cell;
|
|
|
|
function setup() {
|
|
createCanvas(480, 480);
|
|
cell_size = (width - padding * 2) / divisions;
|
|
total_cell = divisions * divisions;
|
|
noLoop();
|
|
noStroke();
|
|
}
|
|
|
|
function draw() {
|
|
background(255);
|
|
for (let i = 0; i < total_cell; i++) {
|
|
let x = padding + (i % divisions) * cell_size,
|
|
y = padding + Math.floor(i / divisions) * cell_size;
|
|
translate(x + cell_size / 2, y + cell_size * 0.8);
|
|
scale(1, 0.6);
|
|
let curves = random(0.01, 0.1);
|
|
noiseSeed(i);
|
|
|
|
let seed_offset = random(-200,200);
|
|
|
|
total_steps = floor(cell_size / 6);
|
|
|
|
for (let s = 0; s < total_steps; s++) {
|
|
fill(map(s, 0, total_steps, 0, 250));
|
|
if(s+1 == total_steps) fill(20);
|
|
let size = noise(seed_offset + s * curves) * cell_size * 0.8;
|
|
|
|
ellipse(0, -s * 6, size, size);
|
|
}
|
|
resetMatrix();
|
|
}
|
|
}
|
|
function mousePressed() {
|
|
redraw();
|
|
} |