谁能给我这个递归分形的起点?
Can anyone give me a starting point to this Recursive Fractal?
我需要使用 Turtle 和递归函数绘制 H 树分形。我对递归有基本的了解,但似乎无法理解如何制作 H 树。我可以为级别 1 绘制 H,它只是一个 H,但在那之后我不确定如何再绘制 4 个 H 形状等等。
H 树图像:
我还没有对此进行编码,但我会尝试解释如何进行。 H-tree 是一个大写的 H,H-tree 以其立柱末端的四个点中的每一个为中心。所以你的函数类似于
drawH(x, y, size)
这里的x和y是横梁中心的坐标,size就是横梁的长度。除了画H,drawH还有四次递归调用,比如
drawH(x1, y1, size/2)
其中 x1、y1 是直立端点之一的坐标。 (我希望这很清楚。我希望我能画一张图。)
您可能已经注意到了一个问题。这永远不会停止;它吸引了无数的爱人。所以我们需要另一个参数:
drawH(x, y, size, level)
递归调用变为
drawH(x1, y1, size/2, level-1)
现在 drawH 在 level == 0 时不进行任何绘制。在我看来,您需要在初始调用中使用 level=3。
希望对您有所帮助。可以用海龟画一些惊人的分形图;玩得开心!
我需要使用 Turtle 和递归函数绘制 H 树分形。我对递归有基本的了解,但似乎无法理解如何制作 H 树。我可以为级别 1 绘制 H,它只是一个 H,但在那之后我不确定如何再绘制 4 个 H 形状等等。
H 树图像:
我还没有对此进行编码,但我会尝试解释如何进行。 H-tree 是一个大写的 H,H-tree 以其立柱末端的四个点中的每一个为中心。所以你的函数类似于
drawH(x, y, size)
这里的x和y是横梁中心的坐标,size就是横梁的长度。除了画H,drawH还有四次递归调用,比如
drawH(x1, y1, size/2)
其中 x1、y1 是直立端点之一的坐标。 (我希望这很清楚。我希望我能画一张图。)
您可能已经注意到了一个问题。这永远不会停止;它吸引了无数的爱人。所以我们需要另一个参数:
drawH(x, y, size, level)
递归调用变为
drawH(x1, y1, size/2, level-1)
现在 drawH 在 level == 0 时不进行任何绘制。在我看来,您需要在初始调用中使用 level=3。
希望对您有所帮助。可以用海龟画一些惊人的分形图;玩得开心!