Effetto plasma
Facendo una media dei grigi ottenuti con onde verticali, orizzontali e inclinate è possibile ottenere configurazioni meno ripetitive.
Potendo modificare tono, saturazione e brillantezza [vedi colorMode(HSB)
] è possibile ottenere una "palette" con variazioni di tonalità cromatiche a partire da un solo valore, ad esempio con: color(c,255-c,255)
.
// height=200 lines=auto
function setup() {
createCanvas( 200, 200 );
colorMode( HSB, 255 );
}
function draw() {
for (let px=0; px<width; ++px) {
let x = px*0.04;
let s1 = sin(x); // onde verticali
for (let py=0; py<height; ++py) {
let y = py*0.04;
let s2 = sin(y); // onde orizzontali
let s3 = sin((x+y+frameCount/10) / 2); // onde inclinate
let s = ( s1 + s2 + s3 ) / 3; // media onde
let c = s * 128 + 128; // parametro cromatico da 0 a 255
set( px, py, color( c, 255-c, 255 ) );
}
}
updatePixels();
}