next up previous contents
Nächste Seite: Ein fraktaler Schierling Aufwärts: Fraktale Vorherige Seite: Wo liegt der Unterschied?   Inhalt

Ein fraktaler Baum

Zunächst wird eine Strecke nach oben gezeichnet (daher muss vor dem ersten Aufruf der rekursiven Methode der Winkel um 80° erhöht werden). Nach einer Drehung nachr rechts um den Winkel 52° wird die Strecke verkürzt weiter gezeichnet. Dann kehrt man um, dreht zweimal den Winkel nach links, zeichnet die verkürzte Strecke, kehrt exakt um und kehrt zum Verzweigungspunkt zurück. Durch den rekursiven Aufruf der Methode können viele Ebenen abgearbeitet werden (im Beispiel 15) - es entsteht ein stark verästeltes Fraktal:


\includegraphics[width=7cm]{FrBaum.ps}

import java.awt.*;
import java.applet.*;

public class Baum extends Applet {
    public void paint (Graphics g) {
        Turtle t = new Turtle(this, 380, 450);
        t.rt(80);
        baumz(t,200,52,15);
    }

    public void baumz(Turtle t, double stamm, double winkel, int ebene) {
        if (ebene > 0) {
            t.fd(stamm);
            t.rt(winkel+15);
            baumz(t, stamm/1.3, winkel, ebene-1);
            t.rt(-2*winkel-15);
            baumz(t, stamm/2, winkel, ebene-1);
            t.rt(winkel);
            t.fd(-stamm);
        }
    }
}

Da im Beispiel ein Applet verwendet wurde, muss eine aufrufende HTML-Datei vorhanden sein. Die Klasse Turtle ist offensichtlich im gleichen Verzeichnis gespeichert.



Alfred Nussbaumer 2003-02-10