任何人都可以给我一个这个递归分形的起点吗?

时间:2015-10-08 04:36:28

标签: python recursion turtle-graphics

我需要使用Turtle和递归函数绘制H树分形。我对递归有基本的了解,但似乎无法理解如何制作H树。我可以将H绘制为1级,这只是一个H但是之后我不确定如何绘制4个以上的H形状等等。

H树形象:

1 个答案:

答案 0 :(得分:0)

我没有编写这个,但我会尝试解释如何做到这一点。 H树是大都市H,其H形树的一半大小以其立柱末端的四个点中的每一个为中心。所以你的功能类似于

drawH(x, y, size) 

这里x和y是横杆中心的坐标,尺寸是横杆的长度。除了绘制H之外,drawH将有四个递归调用,如

drawH(x1,y1,size / 2)

其中x1,y1是其中一个直立端点的坐标。 (我希望这很清楚。我希望我能画一幅画。)

你可能已经注意到了一个问题。这永远不会停止;它吸引了无数的婊子。所以我们需要另一个参数:

drawH(x, y, size, level)

并且递归调用变为

drawH(x1, y1, size/2, level-1)

现在,如果level == 0,drawH不会进行任何绘制。在我看来,你想在初始调用中想要level = 3。

我希望这会有所帮助。人们可以用龟做一些惊人的分形图;玩得开心!