Qualunque sia l’immagine iniziale, la trasformazione produce il frattale di Vicsek.
- Mouse (tasto): aumenta la ricorsione
- Mouse (Ctrl+tasto): diminuisce la ricorsione
- Applicazione Java
final int numMax = 5; int num = 2; int dim, dim3, dim32; boolean scende=false; PImage immagine, immagine2; void setup() { size(500, 500); smooth(); dim = width; dim3 = dim/3; dim32 = 2*dim3; immagine = loadImage("buttons.gif"); noLoop(); } void keyPressed() { scende=true; } void keyReleased() { scende=false; } void mousePressed() { if(scende && num > 0) num--; else if(!scende && num < numMax) num++; redraw(); } void draw() { background(255); image(immagine, 0, 0, dim, dim); for (int i=0; i < num; i++) { loadPixels(); immagine2=createImage(dim, dim, RGB); arraycopy(pixels, immagine2.pixels); background(255); blend(immagine2, 0, 0, dim, dim, 0 , 0 , dim3, dim3, BLEND); blend(immagine2, 0, 0, dim, dim, dim32, 0 , dim3, dim3, BLEND); blend(immagine2, 0, 0, dim, dim, dim3 , dim3 , dim3, dim3, BLEND); blend(immagine2, 0, 0, dim, dim, 0 , dim32, dim3, dim3, BLEND); blend(immagine2, 0, 0, dim, dim, dim32, dim32, dim3, dim3, BLEND); } }