1. Dezember 2010
Im Zeichenmodul haben wir verschiedene Permutationen mit Zeichen erstellt, die wir nun mit Processing umgesetzt haben. Basierend auf einem Ausgangsscript, das einfache Zeichenfunktionen verwendet und die Anordnung der Elemente bereitstellt, durften wir eine eigene Permutation übernehmen. Ich habe eine kleine Animation geschrieben,welche die Wirkung hat das die Objekte Radom gedreht werden. Es hat der Anschein es seien eine Art Augen.
int anzahl = 7; int rand =60; int wSize = 550; 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(wSize, wSize); smooth(); xStep = (width*1.3 - 2 * rand) / (float)(anzahl-1); yStep = (height*1.3 - 2 * rand) / (float)(anzahl-1); frameRate(10); //noLoop(); } void draw() { background(255); int permutationsIndex = 0; pushMatrix(); translate(rand,rand); scale(.75); for(int y=0; y<anzahl;y++) { pushMatrix(); for(int x=0; x<anzahl;x++) { drawPermutationObj(permutationsIndexList[permutationsIndex],random(1,7)); //print(str(permutationsIndexList[permutationsIndex]) + "\t"); ++permutationsIndex; translate(xStep,0.0f); } println(); popMatrix(); translate(0.0f,yStep); } popMatrix(); } void drawPermutationObj(int type, float c) { pushMatrix(); pushStyle(); switch(type) { case 0: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-6,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-15,54,54); stroke(0); fill(0); ellipse(0,-21,42,42); stroke(255); fill(255); ellipse(0,-23,36,36); break; case 1: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-9,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-18,54,54); stroke(0); fill(0); ellipse(0,-21,42,42); stroke(255); fill(255); ellipse(0,-25,36,36); break; case 2: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-11,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-20,54,54); stroke(0); fill(0); ellipse(0,-21,42,42); stroke(255); fill(255); ellipse(0,-27,36,36); break; case 3: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-13,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-22,54,54); stroke(0); fill(0); ellipse(0,-21,42,42); stroke(255); fill(255); ellipse(0,-29,36,36); break; case 4: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-15,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-24,54,54); stroke(0); fill(0); ellipse(0,-21,42,42); stroke(255); fill(255); ellipse(0,-31,36,36); break; case 5: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-17,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-26,54,54); stroke(0); fill(0); ellipse(0,-21,42,42); stroke(255); fill(255); ellipse(0,-33,36,36); break; case 6: rotate(c); scale(random(.7,.9)); stroke(0); fill(0); ellipse(0,-2,87,87); stroke(255); fill(255); ellipse(0,-19,77,77); stroke(0); fill(0); ellipse(0,-13,63,63); stroke(255); fill(255); ellipse(0,-28,54,54); stroke(0); fill(0); ellipse(0,-23,42,42); stroke(255); fill(255); ellipse(0,-35,36,36); break; default: break; } popStyle(); popMatrix(); } void keyPressed() { switch(key) { case ' ': save("permutation.jpg"); break; } }