Ricostruzione progressiva con forme casuali

    let foto;

async function setup() {
    createCanvas( 670, 440 );
    foto = await loadImage( "young-woman.jpg" );

    background( 255 );
    noStroke();
}

function draw() {
    for (let i=0;  i<20;  ++i) {
        let x = random( width );
        let y = random( height );
        fill( foto.get(x, y) );
        circle( x, y, random(4, 16) );
    }
}
  

  

A ogni fotogramma vengono disegnate venti forme, in posizioni scelte a caso.


  

Ogni forma prende il colore del pixel della fotografia che si trova nello stesso punto.


  

In draw() manca background(): le forme si accumulano, e la figura emerge col passare del tempo.

Provare a cambiare il numero di forme per fotogramma e il loro diametro, osservando dopo quanto tempo il volto diventa riconoscibile.

Provare a usare linee o quadrati ruotati a caso al posto dei cerchi.


Con p5.js 1 l’immagine si carica nella funzione preload(), che p5.js 2 non usa più: