25. November 2010
In dieser Aufgabe verbanden wir das Zeichenmodul mit dem Programmieren. Wir versuchten die Tranformationen und Permutationen, die wir zuvor im Illustrator erstellt hatten, zu übernehmen und im Processing zu zeichnen. Ich wählte eine einfache Transformation und liess die Permutation von oben links nach unten rechts laufen.int anzahl = 7; int rand = 50; float xStep; float yStep; int[] permutationsIndexList = {0, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 5, 2, 3, 4, 5, 6, 5, 4, 3, 4, 5, 6, 3, 4, 3, 4, 5, 6, 5, 4, 3, 2, 5, 6, 5, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1, 0}; void setup() { size(600, 600); smooth(); xStep = (width - 2 * rand) / (float)(anzahl-1); yStep = (height - 2 * rand) / (float)(anzahl-1); noLoop(); } void draw() { background(255); int permutationsIndex = 0; pushMatrix(); translate(rand,rand); for(int y=0; y<anzahl;y++) { pushMatrix(); for(int x=0; x<anzahl;x++) { drawPermutationObj(permutationsIndexList[permutationsIndex]); print(str(permutationsIndexList[permutationsIndex]) + "\t"); ++permutationsIndex; translate(xStep,0.0f); } println(); popMatrix(); translate(0.0f,yStep); } popMatrix(); } void drawPermutationObj(int type) { pushStyle(); switch(type) { case 0: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); ellipse(0,0,72,72); fill(0); ellipse(-3,0,65,65); fill(255); ellipse(-14,0,40,40); fill(0); ellipse(-17,0,32,32); fill(255); stroke(255); ellipse(-11,0,20,20); break; case 1: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); ellipse(2,0,69,69); fill(0); ellipse(-5,0,58,58); fill(255); ellipse(-11,0,45,45); fill(0); ellipse(-13,0,38,38); fill(255); stroke(255); ellipse(-5,0,26,26); break; case 2: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); ellipse(4,0,65,65); fill(0); ellipse(-5,0,56,56); fill(255); ellipse(-8,0,50,50); fill(0); ellipse(-11,0,41,41); fill(255); stroke(255); ellipse(-4,0,30,30); break; case 3: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); ellipse(5,0,62,62); fill(0); ellipse(-4,0,56,56); fill(255); ellipse(-6,0,55,55); fill(0); ellipse(-9,0,46,46); fill(255); stroke(255); ellipse(-3,0,38,38); break; case 4: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); ellipse(5,0,62,62); fill(255); stroke(255); ellipse(-4,0,57,57); fill(0); ellipse(-7,0,52,52); fill(255); stroke(255); ellipse(-2,0,43,43); break; case 5: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); ellipse(5,0,62,62); fill(255); stroke(255); ellipse(-4,0,61,61); fill(0); ellipse(-6,0,58,58); fill(255); stroke(255); ellipse(-1,0,51,51); break; case 6: stroke(0); fill(0); ellipse(0,0,75,75); fill(255); stroke(255); ellipse(0,0,66,66); fill(0); ellipse(-4,0,60,60); fill(255); stroke(255); ellipse(0,0,58,58); break; default: break; } popStyle(); } void keyPressed() { switch(key) { case ' ': save("permutation.jpg"); break; } }