28. September 2013
Ein kleiner Smiley, welcher sich um den Grossen dreht. Die Einfachheit und Nützlichkeit der atan2 Funktion überraschte mich und ich konnte sie wunderbar für meine Endaufgabe verwenden. <code>//code float rot= 0; void setup() { size(400,400); // def. fenstergroesse smooth(); // aktiviere antialiasing strokeWeight(15); // linienbreite } void draw() { background(255); // def. hintergrundfarbe float radius = dist(mouseX,mouseY,width/2,height/2); // rechne die distanz vom mousecursor zum fensterzentrum aus radius = map(radius,0,width,1,4); // rechne aus in welchem bereich der radius am schluss sein sollte pushMatrix(); translate(200,200); rotate(calcAngle()); scale(radius); smiley(); // funtions aufruf pushMatrix(); rotate(rot); translate(120,0); scale(0.2); smiley(); // funtions aufruf popMatrix(); popMatrix(); rot+=0.25; } &amp;amp;amp;amp;amp;nbsp; // funktion void smiley() { noFill(); ellipse(0,0,180,180); // kopf fill(0); ellipse(0 - 30,0 - 30,20,20); // linkes augen ellipse(0 + 30,0 - 30,20,20); // rechtes augen noFill(); arc(0,0,100,100,radians(20),radians(180-20)); // mund } // berechne den winkel zur fenstermitter vom mausecursor aus // die winkel sind in radiant float calcAngle() { return -atan2(mouseX - (width / 2),mouseY - (height / 2)); } &amp;amp;amp;amp;amp;nbsp;</code>