Distorsione del dominio con noise()

    let scala = 0.008;
let forza = 4;

function setup() {
    createCanvas( 670, 300 );

    for (let px=0;  px<width;  px++) {
        for (let py=0;  py<height;  py++) {
            let x = px * scala;
            let y = py * scala;
            let dn = noise( x, y ) * forza;
            let n = noise( x + dn, y + dn );
            set( px, py, n*255 );
        }
    }
    updatePixels();
}
  

  

Un primo valore di noise(), moltiplicato per forza, indica di quanto spostare le coordinate.


  

Il valore che decide il grigio viene letto nella posizione spostata: il rumore deforma sé stesso, e le macchie diventano venature.

Provare a cambiare forza: con 0 si torna al semplice noise(), con valori alti le venature si attorcigliano.

 

Ken Perlin aveva usato una deformazione simile già a metà degli anni Ottanta, per le sue prime texture di marmo.