Pattern casuali con for annidati
Con una probabilità del 50% può essere disegnato casualmente un modulo anziché l'altro.
// height=300 lines=auto
function setup() {
createCanvas( 670, 300 );
background( 240 );
for (var y=0; y<height; y+=10) {
for (var x=0; x<width; x+=10) {
if (random() < 0.5) {
line( x,y+5, x+5,y ); // disegna /
line( x+5,y+10, x+10,y+5 ); // disegna /
} else {
line( x+5,y, x+10,y+5 ); // disegna \
line( x,y+5, x+5,y+10 ); // disegna \
}
}
}
}
Provare a ridurre o aumentare le probabilità (0.5) che venga disegnato il primo modulo.
Provare a modificare i moduli tenendo conto che le coordinate x devono essere comprese fra x e x+10 e le coordinate y fra y e y+10, ad esempio:
circle( x+5,y+5, 10 );
square( x,y, 10 );
line( x+5,y, x+5,y+10 ); // |
line( x,y+5, x+10,y+5 ); // —
quad( x+5,y, x+10,y+5, x+5,y+10, x,y+5 ); // 🝔
arc( x+5,y, 10,10, 0,PI ); // ︶
arc( x+5,y+10, 10,10, PI,TWO_PI ); // ︵
...
Se si usano forme piene si consiglia di disattivare il riempimento inserendo un noFill()
prima dei for
.