Ich versuche Turtle Graphics zu verwenden, um ein Fraktal über Rekursion zu machen, aber aus irgendeinem Grund scheint mein Code die Turtle nicht zum Ursprung zurückzubringen. Mein Code ist wie folgtFehler in Turtle Rekursion
public static void sun(Turtle t, double radius) {
for (int i = 0; i < 360; i++) {
t.forward(radius * .0174);
t.left(1);
}
t.penup();
t.left(90);
t.forward(radius);
//t.fill();
t.pendown();
for (int i = 0; i < 8; i++) {
t.forward(2*radius);
t.backward(2*radius);
t.left(45);
}
t.penup();
t.backward(radius);
t.right(90);
t.pendown();
}
public static void fractalSun(Turtle t, double r, int level) {
int color;
if (level == 0) {
t.color(255, 0, 0);
sun(t, r);
}
else {
sun(t, r);
t.left(90);
t.forward(r);
t.right(90);
t.forward(r * 2);
t.right(90);
fractalSun(t, r/4, level -1);
t.left(90);
t.backward(r * 2);
}
}
Der Code erfolgreich kompiliert, aber produziert dieses Bild: Screenshot
Mein Ziel wäre für die Schildkröte in die Mitte jeder ‚Sonne‘ zurückzukehren, aber etwas isn‘ t arbeiten.
@willizen, ich konnte das nicht wie beschrieben funktionieren lassen - oder? Diese Änderung behält das ursprüngliche Problem bei, in der Rückkehr zum Mittelpunkt zu versagen, und erfordert Modifikationen an dem anderen Unterprogramm. Ich glaube, dass das Problem mehr als nur eine Richtung ist, d. H. Es gibt eine fehlende "r/4" -Einheitseinheit bei der Berechnung der Rückkehrfahrt. – cdlane