18. November 2010
Als totaler Anfänger, Neuling und Greenhorn versuchte ich mir all die Fremdwörter und Theorien zu merken und die vorgegebenen Aufgaben zu löse. Nachdem ich die Übungen 1 und 2 mehr schlecht als recht gelöst habe, wagte ich mich an die Übung 3. Leider verstand ich immer noch nicht sehr viel vom Programmieren, Processing, Codes, Zeilen, Abkürzungen ect. ect. Später, nachdem ich mich einige Zeit mit dem Studieren der vorgegeben Codes auseinandergesetzt habe, ging mir endlich ein kleines Lichtlein auf, und ich sah langsam die Logik hinter dem Problem. Mit der Hilfe von meinen lieben Mitstudenten, habe ich es doch tatsächlich fertiggebracht, dass mein kleines Smiley um mein grosses Smiley dreht. Endlich!void setup() { size(400,400); // def. fenstergroesse smooth(); // aktiviere antialiasing strokeWeight(15); // linienbreite } float drehung = 0; void draw() { background(255); // def. hintergrundfarbe float radius = dist(mouseX,mouseY,width/2,height/2); // rechnet die distanz vom mousecursor zum fensterzentrum aus radius = map(radius,0,width,1,4); // rechnet aus in welchem bereich der radius am schluss sein sollte pushMatrix(); translate(200,200); // rotate(calcAngle()); // scale(radius); smiley(); // funtions aufruf pushMatrix(); rotate(drehung); translate(90,90); scale(.2); smiley(); // funtions aufruf popMatrix(); popMatrix(); drehung = drehung + 0.05; } // 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)); }