要画一颗分形树,使用turtle
分形图形的特征:子图与自身相似,很容易想到递归。
要点在于定义初末状态。调用结束时,让turtle回到开始调用时的位置,并且方向与来时方向一致。
public static void drawMyhelper(Turtle tur,int lenth,double angle) {
if(lenth<=4) {
return ;
}
tur.turn(angle);
tur.forward(lenth);
drawMyhelper(tur, lenth/2, angle);
tur.turn(180); // 从右树返回
tur.forward(lenth);
tur.turn(180-angle);
// 返回时方向一定是来时的方向。
tur.turn(-angle);
tur.forward(lenth);
drawMyhelper(tur, lenth/2, angle);
tur.turn(180); //从左树返回
tur.forward(lenth);
tur.turn(180+angle);
}