【发布时间】:2017-03-31 22:08:02
【问题描述】:
我正在尝试使用 Turtle Graphics 通过递归制作分形,但由于某种原因,我的代码似乎没有将 Turtle 返回到原点。 我的代码如下
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);
}
}
代码编译成功,但生成此图像: Screenshot
我的目标是让乌龟回到每个“太阳”的中心,但有些东西不起作用。
【问题讨论】: