Hallo Leute,
habe heute in der Schule die Aufgabe bekommen, eine Drachenkurve in einem Applet zu zeichnen.
Leider stecke ich da komplett fest.
Habe mir den Wiipedia Artikel mindestens 10x durchgelesen und komme einfach nicht weiter.
Vom Prinzip her (glaube ich) hab ichs verstanden. Also zumindest weitestgehend... Ich weiß nur nicht, wie ich der Drachenkurve sagen soll, dass er bei der Mitte dann statt rechts mal links gehen soll. Soll ich da einen Parameter mitgeben, der ihn sagt, wohin er soll? Woher weiß ich dann, dass er schon einmal links gegangen ist, und nicht die ganze Zeit nach links geht?
Ich hoffe ich konnte mich einigermaßen ausdrücken und ihr versteht was ich meine.
Hier ist meine Funktion, so wie sie bisher aussieht.
Ach ja, ich verwende eine einfache Turtle-Klasse. Zur Erklärung:
drehen(Grad: int): void ............... Dreht die Turtle um x Grad
movVor(Strecke: int) : void .................... Bewegt die Turtle um x Pixel nach vorne
Gruß
Bratkartoffel
habe heute in der Schule die Aufgabe bekommen, eine Drachenkurve in einem Applet zu zeichnen.
Leider stecke ich da komplett fest.
Habe mir den Wiipedia Artikel mindestens 10x durchgelesen und komme einfach nicht weiter.
Vom Prinzip her (glaube ich) hab ichs verstanden. Also zumindest weitestgehend... Ich weiß nur nicht, wie ich der Drachenkurve sagen soll, dass er bei der Mitte dann statt rechts mal links gehen soll. Soll ich da einen Parameter mitgeben, der ihn sagt, wohin er soll? Woher weiß ich dann, dass er schon einmal links gegangen ist, und nicht die ganze Zeit nach links geht?
Ich hoffe ich konnte mich einigermaßen ausdrücken und ihr versteht was ich meine.
Hier ist meine Funktion, so wie sie bisher aussieht.
Java:
public void drawDrachenkurve(int Ordnung, int KantenLaenge) {
switch(Ordnung) {
case 0:
this.drehen(90);
this.movVor(KantenLaenge);
return;
case 1:
drawDrachenkurve(0, KantenLaenge);
this.drehen(90);
this.movVor(KantenLaenge);
return;
default:
drawDrachenkurve(Ordnung-1, KantenLaenge);
this.drehen(90);
this.movVor(KantenLaenge);
drawDrachenkurve(Ordnung-1, KantenLaenge); // Hier weiß ich nicht weiter :(
return;
}
}
Ach ja, ich verwende eine einfache Turtle-Klasse. Zur Erklärung:
drehen(Grad: int): void ............... Dreht die Turtle um x Grad
movVor(Strecke: int) : void .................... Bewegt die Turtle um x Pixel nach vorne
Gruß
Bratkartoffel