Dies ist die Weiterführung der Buchstaben und basiert eben so auf:
“Scattered Letters by Algirdas Rascius. http://openprocessing.org/visuals/?visualID=1811”
/** * Scattered Letters * by Algirdas Rascius. * http://openprocessing.org/visuals/?visualID=1811 * modified by Robert Ibisch * * Click to restart. */ PFont font; float currentSize; String[] words = { "P", "a", "u", "l", "K", "l", "e", "e"}; int index = int(random(words.length)); void setup() { size(640, 480); colorMode(HSB, TWO_PI, 1, 1, 1); //font = loadFont("BookmanOldStyle-Bold-48.vlw"); smooth(); initialize(); } void draw() { if (currentSize > 10) { if (!randomLetter(currentSize)) { currentSize = currentSize*0.99; } } } void initialize() { background(color(0, 0, 1)); currentSize = 300; } void mouseClicked() { initialize(); } void keyPressed() { initialize(); } boolean randomLetter(float letterSize) { int intSize = (int)letterSize; PGraphics g = createGraphics(intSize, intSize, JAVA2D); g.beginDraw(); g.background(color(0, 0, 1, 0)); //g.fill(color(0, 0, 0)); // g.textAlign(CENTER, CENTER); g.rectMode(CENTER); g.translate(letterSize/2, letterSize/2); g.rotate(random(TWO_PI)); g.scale(letterSize/300); // g.textFont(font); g.fill(random(150),random(175),random(125),random(100)); g.noStroke(); g.rect(0,0,mouseX/2,mouseY/2); // int i =int ( random(8)) ; // g.text(words[i], 0, 0); g.endDraw(); PGraphics gMask = createGraphics(intSize, intSize, P2D); gMask.beginDraw(); gMask.background(color(0, 0, 1, 1)); gMask.image(g, 0, 0); gMask.filter(ERODE); gMask.filter(ERODE); gMask.endDraw(); for (int tries=50; tries>0; tries--) { int x1 = (int)random(width-intSize); int y1 = (int)random(height-intSize); int x = x1/4 + mouseX; int y = y1/4 + mouseY; boolean fits = true; for (int dx = 0; dx<intSize && fits; dx++) { for (int dy = 0; dy<intSize && fits; dy++) { if (brightness(gMask.get(dx, dy))<0.5) { if (brightness(get(x+dx, y+dy))<0.5) { fits = false; } } } } if (fits) { image(g, x, y); return true; } } return false; }