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);
...
}
...
}
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:
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:
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.