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.

Planetensystem

1. Oktober 2013

Zusammen mit Mona kreierte ich Planeten, welche um Planeten kreisen und somit eine Art Sonnensystem entstehen lassen. Dabei war es sehr lehrreich, wie wichtig push-und popMatrix bei Arraylists sein können. <code>

//code

PImage[] imageList = null; // variable sauber initialisieren
float[] Rotl = new float[4]; // Zwischenspeicher für Rotationsposition
float[] Rotg = new float[4]; // Liste für verschiedene Geschwindigkeiten

void setup()
{
 size(600, 600, P3D); // def. fenstergroesse

 imageList = new PImage[4];
 imageList[0] = loadImage(&amp;amp;amp;quot;./images/planet4.png&amp;amp;amp;quot;);
 imageList[1] = loadImage(&amp;amp;amp;quot;./images/planet2.png&amp;amp;amp;quot;);
 imageList[2] = loadImage(&amp;amp;amp;quot;./images/planet3.png&amp;amp;amp;quot;);
 imageList[3] = loadImage(&amp;amp;amp;quot;./images/planet1.png&amp;amp;amp;quot;);
 Rotg[0] = 0.02;
 Rotg[1] = 0.03;
 Rotg[2] = -0.02;
 Rotg[3] = 0.021;
}

void draw()
{

 background(loadImage(&amp;amp;amp;quot;./images/galaxy1.jpg&amp;amp;amp;quot;));
 translate(width/2, height/2);
 pushMatrix();
 for (int i=0 ;i &amp;amp;amp;lt; imageList.length; i++) { // muss ausserhalb pushMatrix stehen, damit i immer wieder neu aufgerufen wird
 pushMatrix();
 rotate(Rotl[i]);
 translate(70 * i, 0);
 scale(0.5);
 shininess(1.0);
 image(imageList[i], 0, 0, 140, 140);
 Rotl[i]+=Rotg[i]; // 'Zwischenspeicher' Rotl-Liste wird definiert
 popMatrix();

 }
 popMatrix();
 imageMode(CENTER); // nullpunkt des svg-objekts liegt in der mitte
}

&amp;amp;amp;amp;nbsp;

</code>