Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Permutation

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;
 }
}