Bitpattern
Java besitzt ja bekanntlich auch Operatoren zur Bitmanipulation. Und auch wenn sie in der Processing-Referenz nicht erwähnt werden, BitAND (&
), BitOR (|
), BitXOR (^
) und die Bit-Negation (~
) funktionieren natürlich auch dort. Bei den Bit-Operatoren werden im Gegensatz zu den logischen Operatoren die Wahrheitswerte bitweise berechnet. So ist z.B. 6 | 1 = 7
, da 110 | 001 = 111
.
Damit lassen sich interessante Pattern erzeugen, wenn man zum Beispiel eine Fläche mit den Veroderungen ihrer Koordinaten (in Bits) füllt und dieses in Graustufen (modulo 255) zeichnet. Die entstehende Figur ist auch als Sierpinski-Dreieck bekannt und ist eine der Schlüsselfiguren in der Mathematik vom Chaos.
Code
Zur Darstellung in Processing benötigt man nur wenige Zeilen Code:
size(768, 768);
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
int c = (i | j) % 255;
set(i, j, color(c));
}
}
Wenn man mit den Bit-Operatoren ein wenig herumspielt (man darf sie auch mit arithmetischen Operatoren kombinieren), kann man weitere interessante Strukturen erzeugen. Obiges Bild entstand z.B. mit c
i,j
= (i | j) | (i*j) % 255
Literatur
- Clifford A. Pickover: Mazes For The Mind: Computers and the Unexpected, New York (St. Martin’s Press) 1992, Seite 79 - 82
Sie sind hier: Start → Programmierung → Creative Coding → Processing → bitpattern.txt