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();
}