25. November 2010
In dieser Lektion ging es darum unsere Zeichen, welche wir im Modul Graphic Design Basics erstellt haben nun in Permutationen zu wandeln. Diese Aufgabe hatten wir bereits im Graphic Modul, doch nun galt es diese bereits erstellten Zeichen und Permutationen in Processing nachzubauen. Ich entschied mich diese Permutation in Processing nachzubauen: Hier der Code dazu: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, 5, 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: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-27),54,54); ellipse(0,-1*(37.5-27),54,54); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,63,63); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,70,70); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,15,15); popStyle(); break; case 1: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-28.5),57,57); ellipse(0,-1*(37.5-28.5),57,57); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,60,60); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,66,66); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,16.5,16.5); popStyle(); break; case 2: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-30),60,60); ellipse(0,-1*(37.5-30),60,60); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,54,54); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,60,60); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,18,18); popStyle(); break; case 3: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-31),62,62); ellipse(0,-1*(37.5-31),62,62); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,48,48); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,54,54); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,19.5,19.5); popStyle(); break; case 4: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-32.5),65,65); ellipse(0,-1*(37.5-32.5),65,65); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,42,42); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,48,48); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,21,21); popStyle(); break; case 5: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-34.5),69,69); ellipse(0,-1*(37.5-34.5),69,69); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,36,36); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,45,45); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,22.5,22.5); popStyle(); break; case 6: pushStyle(); stroke(0); strokeWeight(2); noFill(); ellipse(0,0,75,75); popStyle(); pushStyle(); stroke(0); fill(0); ellipse(0,(37.5-36),72,72); ellipse(0,-1*(37.5-36),72,72); popStyle(); pushStyle(); noStroke(); fill(255); ellipse(0,0,30,30); popStyle(); pushStyle(); stroke(255); strokeWeight(1); noFill(); ellipse(0,0,42,42); popStyle(); pushStyle(); noStroke(); fill(0); ellipse(0,0,24,24); popStyle(); break; default: break; } popStyle(); } void keyPressed() { switch(key) { case ' ': save("permutation.jpg"); break; } }Im zweiten Teil der Übung ging es darum, die Permutation zu verändern und beispielsweise die Anordnung neu zu gestalten: Beispiel 1: Hier versuchte ich die Mitte heller zu gestalten und einen Verlauf nach aussen zu bewirken. Beispiel 2: Bei diesem Beispiel versuchte ich einen Verlauf von links Unten nach rechts Oben zu gestalten. Beispiel 3: In diesem Beispiel versuchte ich die diagonale Mitte hell zu gestalten und einen Verlauf beidseitig nach Aussen zu generieren. Beispiel 4: Hier versuchte ich eine Art Kreuz durch die Positionierung von den dunkleren Zeichen in der Mitte zu gestalten.