xxxxxxxxxx
// numero di pattern
let M = 50;
// funzione che viene eseguita una sola volta quando si esegue lo sketch
function setup() {
createCanvas(windowWidth, windowHeight);
rectMode(CENTER);
background(85, 0, 255);
for (let i = 1; i < M; i++) {
greca(random(width), random(height), random(PI / 2), random(0.4),20);
}
}
// funzione che viene eseguita circa 30 volte al secondo
function draw() {
//background(255,32, 57);
}
function greca(x, y, angolo, scala, N) {
// salvo il sistema di riferimento
push();
// sposto il SDR
translate(x, y);
// ruot il SDR
rotate(angolo);
// riscalo il SDR
scale(scala);
// disegno
for (let i = 1; i <= N; i++) {
strokeWeight(3);
stroke(0);
fill(0, map(i, 1, N, 0, 255), 0, 100);
//ellipse(map(i, 1, N, width / 2, mouseX), map(i, 1, N, height / 2, mouseY), map(i, 1, N, 500, 0));
rect(0, 0, map(i, 1, N, 500, 0));
}
// ripristinare il vecchio SDR
pop();
}