dh-Materialien
Java Tutorial
 

Turtle-Grafik

Bei der „Turtle“ handelt es sich um ein mit einem Zeichenstift ausgestattetes imaginäres Objekt, das über eine Zeichenfläche bewegt werden kann. Die für dieses Tutorial implementierte Klasse Turtle setzt eine (gegebenenfalls skalierte) Zeichenfläche vom Typ JCanvas voraus. Diese Zeichenfläche muss ein Grafikobjekt vom Typ Graphics2D beinhalten. Ein Beispiel ( Javaprojekt FibonacciSpiral):

class Canvas extends JPanel {

    Graphics2D g2d;
    ...

    private Turtle turtle;

    private void drawSomething() {
        turtle = new Turtle(this, 160, 230, 36);
        ...
    }
    ...
}

Methoden der Klasse Turtle

public Turtle(Canvas canvas, double x0, double y0, double angle)
(x0; y0) ist die Anfangsposition der Turtle; mit dem (in Grad angegebenen) Winkel angle wird die anfängliche Orientierung der Turtle festgelegt:

Turtle01

public void setPosition(double x, double y)
Nach Aufruf dieser Methode ist (x; y) die neue Position der Turtle.

public void turn(double d)
Der Winkel angle wird um d Grad vergrößert. Ist d negativ, so wird angle wird um −d Grad verkleinert. Die Position der Turtle ändert sich hierbei nicht.

public void goForward(double step)
Die Turtle bewegt sich mit der durch step festgelegten Schrittweite vorwärts. Ist step negativ, so erfolgt die Bewegung rückwärts.

public void goInACircleToTheRight(double r, double arcAngle)
Die Turtle bewegt sich auf einem durch den Radius r und dem Bogenwinkel arcAngle festgelegten Kreisbogen zur rechten Seite hin:

Turtle2

public void goInACircleToTheLeft(double r, double arcAngle)
Die Turtle bewegt sich auf einem durch den Radius r und dem Bogenwinkel arcAngle festgelegten Kreisbogen zur linken Seite hin.