Class Igel

java.lang.Object
  extended by Igel

public class Igel
extends java.lang.Object

Version:
1.1 vom 15.2.2006 Eine Klasse zum Zeichnen der turtle-Grafik. Die turtle bewegt sich über die Zeichenfläche und zeichnet dabei ggf. ihren Weg. Grafik im mathematischen Koordinatensystem mit einfachen relativen (Turtle Grafik) und absoluten Zeichenbefehlen. Ursprung in der Klasse "Turtle", (C) Alfred Hermes & Barbara Leipolz-Schumacher (http://www.zitadelle.juel.nw.schule.de/if/java). Koordinatengrafik entnommen aus Grafik2002 von Ulrich Hirsch (Oldenburg-Kolleg) und Norbert Winzeler (Herbartgymnasium). in Anlehnung an eine Pascal-Unit des Herbartgymnasiums Oldenburg (Grafik94). Abgeändert von Norbert Winzeler im März 2001, Januar 2002, Oktober 2002. Die Turtle kann sichtbar und unsichtbar gemacht werden. Wenn die Turtle sichtbar ist, kann eine Verzögerungszeit für die Turtle-Aktionen eingestellt werden.
Author:
(c) 2002,2004,2006 Horst Rettberg

Constructor Summary
Igel(java.awt.Component comp)
           
Igel(java.awt.Component comp, double x, double y, double richtung)
          Initialisiert die Turtle und übergibt die Bildschirmkoordinaten an das Turtle-Koordinatensystem.
 
Method Summary
 void drehe(double grad)
          Dreht die turtle.
 void fuelleKreis(double radius)
          Malt einen ausgefüllten Kreis.
 void geheZu(double neux, double neuy)
          bewegt die turtle zur angegebenen Position.
 void igelSichtbar()
          Läßt die turtle sichtbar werden (ein kleines Dreieck).
 void igelUnsichtbar()
          Läßt die turtle unsichtbar werden.
 void inRichtung(double grad)
          Dreht die turtle in die angegebene Richtung.
 void kreis(double r)
          Zeichnet einen Kreis mit Radius r um die aktuelle Position der Turtle als Mittelpunkt.
 void kreis(double x, double y, double r)
          Zeichnet einen Kreis mit Radius r um die angegebene Stelle als Mittelpunkt.
 java.awt.Color liesFarbe()
          Liefert die aktuelle Zeichenfarbe.
 double liesRichtung()
          Liefert die aktuelle Richtung.
 double liesX()
          Liefert die aktuelle x-Koordinate.
 double liesY()
          Liefert die aktuelle y-Koordinate.
 void loesche()
          Löscht die gesamte Zeichnung.
 void pause()
          Wartet mit dem Programmablauf für eine bestimmte Zeitspanne.
 void punkt(double x, double y)
          Setzt eine Punkt an der angegebenen Stelle.
 void schreibeText(double x, double y, java.lang.String text)
          Schreibt Text an die angegebene Position (linker oberer Rand des Textes).
 void schreibeText(java.lang.String text)
          Schreibt Text an die aktuelle Position (linker oberer Rand des Textes).
 void setzeSchlafdauer(int d)
          Stellt die Verzögerungszeit beim Zeichnen ein, wen die turtle sichtbar ist.
 void springeZu(double neuX, double neuY)
          Setzt die neue Turtleposition ohne zu zeichnen.
 boolean stiftAb()
          senkt den Zeichenstift ab. es wird bei der Bewegung gezeichnet.
 void stiftFarbe(java.awt.Color c)
          stellt eine neue Zeichenfarbe ein.
 void stiftFarbe(int r, int g, int b)
          stellt eine neue Zeichenfarbe im RGB-Format ein.
 boolean stiftHoch()
          hebt den Zeichenstift an. es wird nicht mehr gezeichnet, sondern nur bewegt.
 void strecke(double x1, double y1, double x2, double y2)
          Zeichnet eine Strecke.
 void vor(double l)
          Bewegt die turtle in der aktuellen Rchtung vorwärts.
 void zeichneBis(double neuX, double neuY)
          Zeichnet eine Strecke von der aktuellen Position bis zur angegebenen Position.
 void zumAnfang()
          Bringt die turtle in die Ausgangsposition.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Igel

public Igel(java.awt.Component comp)

Igel

public Igel(java.awt.Component comp,
            double x,
            double y,
            double richtung)
Initialisiert die Turtle und übergibt die Bildschirmkoordinaten an das Turtle-Koordinatensystem.

Parameters:
comp - ist die Komponente auf dem die turtle malen soll, ein Canvas, Panel, Frame oder Applet.
x - die Anfangsposition der turtle waagerecht (Bildschirm: 0 ist linker Rand).
y - die Anfangsposition der turtle senkrecht (Bildschirm: 0 ist oberer Rand).
richtung - der Anfangswinkel der turtle. 0 zeigt nach rechts. Es auf einem mathematischen Koordinatensystem gezeichnet, dh positive y-Werte zeigen nach oben und positive Winkel drehen nach links. x und y definieren den Koordinatenursprung.
Method Detail

punkt

public void punkt(double x,
                  double y)
Setzt eine Punkt an der angegebenen Stelle. Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
x - ist die X-Koordinate.
y - ist die Y-Koordinate.
See Also:
strecke(double, double, double, double)

kreis

public void kreis(double x,
                  double y,
                  double r)
Zeichnet einen Kreis mit Radius r um die angegebene Stelle als Mittelpunkt. Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
x - ist die X-Koordinate des Mittelpunkts.
y - ist die Y-Koordinate des Mittelpunkts.
r - ist der Radius.
See Also:
fuelleKreis(double)

kreis

public void kreis(double r)
Zeichnet einen Kreis mit Radius r um die aktuelle Position der Turtle als Mittelpunkt. Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
r - ist der Radius.
See Also:
fuelleKreis(double)

strecke

public void strecke(double x1,
                    double y1,
                    double x2,
                    double y2)
Zeichnet eine Strecke. Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
x1 - ist die X-Koordinate des Anfangspunktes.
y1 - ist die Y-Koordinate des Anfangspunktes.
x2 - ist die X-Koordinate des Endpunktes.
y2 - ist die Y-Koordinate des Endpunktes.
See Also:
punkt(double, double), springeZu(double, double), zeichneBis(double, double), geheZu(double, double), vor(double)

zeichneBis

public void zeichneBis(double neuX,
                       double neuY)
Zeichnet eine Strecke von der aktuellen Position bis zur angegebenen Position. Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
neuX - ist die X-Koordinate des Endpunktes.
neuY - ist die Y-Koordinate des Endpunktes.
See Also:
springeZu(double, double), strecke(double, double, double, double)

springeZu

public void springeZu(double neuX,
                      double neuY)
Setzt die neue Turtleposition ohne zu zeichnen. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
neuX - ist die X-Koordinate der neuen Position.
neuY - ist die Y-Koordinate der neuen Position.
See Also:
zeichneBis(double, double), strecke(double, double, double, double)

schreibeText

public void schreibeText(double x,
                         double y,
                         java.lang.String text)
Schreibt Text an die angegebene Position (linker oberer Rand des Textes). Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
x - ist die X-Koordinate des Textanfangs.
y - ist die Y-Koordinate des Textanfangs.
text - ist der zu schreibende Text.

schreibeText

public void schreibeText(java.lang.String text)
Schreibt Text an die aktuelle Position (linker oberer Rand des Textes). Die aktuelle Turtle-Position wird nicht verändert. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
text - ist der zu schreibende Text.

zumAnfang

public void zumAnfang()
Bringt die turtle in die Ausgangsposition. Der Winkel bleibt unverändert. Sichtbare Turtle möglich, Verzögerung möglich.

See Also:
loesche()

vor

public void vor(double l)
Bewegt die turtle in der aktuellen Rchtung vorwärts. Sichtbare Turtle möglich, Verzögerung möglich.

Parameters:
l - die strecke, um die die turtle läuft. Negative Werte lassen sie rückwärts laufen.
See Also:
geheZu(double, double), zeichneBis(double, double), springeZu(double, double), strecke(double, double, double, double)

drehe

public void drehe(double grad)
Dreht die turtle. Sie dreht sich rechts herum. Sichtbare Turtle möglich, Verzögerung möglich.

Parameters:
grad - der Drehwinkel. Negative Werte lassen die turtle rechts herum drehen.
See Also:
inRichtung(double)

fuelleKreis

public void fuelleKreis(double radius)
Malt einen ausgefüllten Kreis. Keine sichtbare Turtle, keine Verzögerung, kein Einfluss von stiftAuf/stiftAb.

Parameters:
radius - der Radius des Kreises.
See Also:
kreis(double, double, double)

loesche

public void loesche()
Löscht die gesamte Zeichnung. Keine sichtbare Turtle, keine Verzögerung


inRichtung

public void inRichtung(double grad)
Dreht die turtle in die angegebene Richtung. Sichtbare Turtle möglich, Verzögerung möglich.

Parameters:
grad - der neue Winkel. Null Grad zeigt nach rechts.
See Also:
liesRichtung(), drehe(double)

geheZu

public void geheZu(double neux,
                   double neuy)
bewegt die turtle zur angegebenen Position. Sichtbare Turtle möglich, Verzögerung möglich.

Parameters:
neux - die neue x-Koordinate.
neuy - die neue y-Koordinate
See Also:
liesX(), liesY(), springeZu(double, double), zeichneBis(double, double), strecke(double, double, double, double)

stiftFarbe

public void stiftFarbe(java.awt.Color c)
stellt eine neue Zeichenfarbe ein.

Parameters:
c - die neue Zeichenfarbe.
See Also:
liesFarbe(), stiftAb()

stiftFarbe

public void stiftFarbe(int r,
                       int g,
                       int b)
stellt eine neue Zeichenfarbe im RGB-Format ein.

Parameters:
r - der Rotanteil der neue Zeichenfarbe.
g - der Grünanteil der neue Zeichenfarbe.
b - der Blauanteil der neue Zeichenfarbe.
See Also:
liesFarbe()

stiftHoch

public boolean stiftHoch()
hebt den Zeichenstift an. es wird nicht mehr gezeichnet, sondern nur bewegt.

See Also:
stiftAb()

stiftAb

public boolean stiftAb()
senkt den Zeichenstift ab. es wird bei der Bewegung gezeichnet.

See Also:
stiftHoch()

liesRichtung

public double liesRichtung()
Liefert die aktuelle Richtung.

Returns:
die aktuelle Richtung in Grad als double.
See Also:
liesX(), liesY()

liesX

public double liesX()
Liefert die aktuelle x-Koordinate.

Returns:
die aktuelle x-Koordinate als double.
See Also:
liesRichtung(), liesY()

liesY

public double liesY()
Liefert die aktuelle y-Koordinate.

Returns:
die aktuelle y-Koordinate als double.
See Also:
liesRichtung(), liesY()

liesFarbe

public java.awt.Color liesFarbe()
Liefert die aktuelle Zeichenfarbe.

Returns:
die aktuelle Zeichenfarbe als Colorobjekt.
See Also:
stiftFarbe(java.awt.Color)

pause

public void pause()
Wartet mit dem Programmablauf für eine bestimmte Zeitspanne.

See Also:
setzeSchlafdauer(int), igelSichtbar()

igelSichtbar

public void igelSichtbar()
Läßt die turtle sichtbar werden (ein kleines Dreieck). Gleichzeitig wird verzögert gezeichnet.

See Also:
setzeSchlafdauer(int)

igelUnsichtbar

public void igelUnsichtbar()
Läßt die turtle unsichtbar werden. Gleichzeitig wird die Zeichenverzögerung abgeschaltet.

See Also:
igelSichtbar()

setzeSchlafdauer

public void setzeSchlafdauer(int d)
Stellt die Verzögerungszeit beim Zeichnen ein, wen die turtle sichtbar ist. Kann auch für andere Zwecke verwendet werden

Parameters:
d - die Verzögerungszeit in Milliseunden
See Also:
igelSichtbar(), pause()