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.

Rekursive Funktionen – Wurzelmurx

24. September 2013

Rekursive Funktionen sind solche, die - wenn sie ausgeführt werden - sich selbst aufrufen. Da dies alleine aber auf eine Endlosschleife hinausläuft, ist es notwendig diese Wiederholung zu begrenzen. Wir definieren also, wie weit sich die Rekursion fortsetzen, und was danach geschehen soll. In unserem Beispiel, waren es die Äste eines baumähnlichen Konstrukts, die sich mehrfach selbst aufriefen und, bei Erreichen einer gewissen Anzahl Verzweigungen, in einer Ellipse endeten. Aufgabe war es das Template zu verändern und damit neue Darstellungen zu erreichen. Die tat ich fleissig, scheiterte jedoch sehr oft und was mich besonders störte: Meistens fand ich bis zuletzt nicht heraus warum und lernte deshalb nicht sehr viel aus meinen Fehlern. Mit gemässigten Ambitionen, setzte ich mir kleinere Ziele welche ich eher erreichen konnte. Ich wandte die zuvor erlernte Methode (siehe "loadImage, redraw & random") an um Bilder von Politikern am Ende jedes Asts erscheinen zu lassen. Wahl-Szenarien Mein Ziel nächstes Ziel war es die Abweichewinkel der Äste zu vereinheitlichen, wozu ich aber Werte generieren musste, die mit einer 50%-Chance den einen oder anderen Wert (und NUR diesen) annahmen. David riet mit zu folgender Codezeile:
<code>
(random(0, 1)&amp;amp;gt;0.5) ? 200 : -200;
Von da an ging es zügig voran und ich verbrachte noch sehr viel Zeit mit fraktalen Spielereien. Meine Faszination galt besonders der Eigendynamik - die ich zwar beeinflussen - aber nie gänzlich kontrollieren konnte. Als ich auf einer Zugreise dabei war, fünfeckige fraktale Muster mit bestimmten Farbverläufen zu generieren, wurde ich allen Ernstes von einem Chemielaboranten darauf angesprochen, ob ich mich schon lange mit „der Struktur von Calcium“ befasse. Welch glorreicher Tag: Ich habe nicht nur die gewünschte Ästhetik erreicht, sondern das Vorkommen fraktaler Muster in der Naturwissenschaft täuschend echt immitiert. Fraktale Funktion Calicum-Strukturen?
<code>
float f=10;
int x;
int y;

void setup()
{ 
  size(1200, 800);

  randomSeed(millis());

  smooth();
  strokeWeight(5);
  
   noLoop();
   println("erstes mal: " + f);

}

void draw()
{
//  stroke(random(10, 110), random(0, 180), random(180, 255), 130);

  pushMatrix();
  background(0, 0, 0, 255);
  translate (width*.5, height*0.8);
  wurzel(15);
  popMatrix();
}

void mousePressed()
{
  loop();
  //redraw();
}

void mouseReleased()
{
  f = 0;
  noLoop();
}
void wurzel(int tiefe)
{

  if (tiefe 0.5) ? 100 : -100;

  int count = (int)random(1, 4);
  for (int i = 0; i 0.5) ? 5 : -5);
    scale(.8);
    wurzel(tiefe-1);
    //popStyle();
    popMatrix();
    
        f=f+.003;
println(f);
  }
}