26. Oktober 2011
Nachdem wir den Smiley mit verschiedenen Stati versehen haben, galt es, den kleinen Smiley eine Umlaufbahn zu verpassen. Dazu der Code [JAVA] float klein = 0; float gross = -1; void setup() { size(600,600); // 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(300,300); rotate(calcAngle()); gross += 0.01; rotate(gross); smiley(); // funtions aufruf klein += 0.01; rotate(klein); translate(150,150); klein += 0.01; rotate(klein); scale (0.2); smiley(); // funtions aufruf popMatrix(); } // 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)); } [JAVA]