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:
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.