5. Oktober 2012
Eine neue Form von Code erwartete uns in dieser Lektion: die rekursive Schleife. Die Abfolge dieser Scripts zu verstehen verlangte von mir einiges an Denkarbeit und war mir deswegen nicht von Beginn an klar. Anfangs versuchte ich, gezielt nach Vorstellungen Formen zu kreieren - was in dieser Programmierart jedoch die völlig falsche Herangehensweise war. Der Punkt darin besteht ja, durch Zufall Formen entstehen zu lassen. Durch ändern der Parameter am Ausgangscode entstand nun das unten platzierte Resultat. Erinnert mich ein wenig an den Film 'Up'.</pre> void setup() { size(600,600); // def. fenstergroesse randomSeed(millis()); // seed random smooth(); // aktiviere antialiasing strokeWeight(5); // linienbreite noStroke(); //stroke(0,0,0,150); noLoop(); } void draw() { background(255); pushMatrix(); translate(width *.5,height - 20); wurzel(7); popMatrix(); } void mousePressed() { redraw(); } // funktion void wurzel(int tiefe) { if(tiefe <=0) // teste ob das ende erreicht worden ist { // zeichen blueten pushStyle(); int clr1 = (int)random(1,255); int clr2 = (int)random(1,255); int clr3 = (int)random(1,255); //stroke(clr1, clr2, clr3,190); noStroke(); fill(clr1,clr2,clr3,255); float size1 = random(40, 100); ellipse(0,0, size1,size1); // ellipse(200,200, size1,size1); popStyle(); return; } // zeichne zweige int x; int y; int count = (int)random(3,3); for(int i = 0; i < count;i++) { x = (int)random(-200,200); y = -(int)random(100,150); pushMatrix(); strokeWeight(5); fill(0, 255); line(0,0,x,y); popMatrix(); pushMatrix(); translate(x,y); scale(random(.1,1.5)); wurzel(tiefe-1); popMatrix(); } } <pre>