Dokopałem się do ciekawego kodu, napisanego przez Maxime Biaisa, R&D Software Enginee’a z Paryża. Ten pan programuje zwykle w Pythonie. Na swojej stronie zamieścił efekty działania skryptu napisanego w Processingu, który stosuje technikę pointylistyczną, podobną do tej, którą stosował niegdyś Paul Signac i inni neoimpresjoniści.

Co ciekawe, program zapisuje efekty swojej pracy w pliku PDF.

Oto kod i przykładowe przeróbki:

PImage a;
import processing.pdf.*;
 
void setup()
{
  a = loadImage("INPUT.jpg");
  size(1600, 1200, PDF, "OUTPUT.pdf");
  background(255);
  noStroke();
  smooth();
  noLoop();
}
 
float drawOne(int x, int y, color pix, float size, int alpha)
{
  fill(pix, random(50)+alpha);
  size = random(size);
  ellipse(x, y, size, size);
  return size; 
}
 
void drawAll(int loops, float isize)
{
  float size;
  int x, y;
  color pix;
 
  for (int i = 0; i < loops; i++) {
     size = isize;
     x = int(random(a.width));
     y = int(random(a.height));
     pix = a.get(x, y);
     size = drawOne(x, y, pix, size, 100);
     size = drawOne(x, y, color(255, 255,255), size, 170);
     size = drawOne(x, y, pix, size, 100);
  }
}
 
void draw()
{ 
  int l = 10;
  for (int i = l; i > 0; i--){
    drawAll(200 * (l - i), 50*i);
  }
  exit();
}