Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谁能给我一个递归分形的起点?_Python_Recursion_Turtle Graphics - Fatal编程技术网

Python 谁能给我一个递归分形的起点?

Python 谁能给我一个递归分形的起点?,python,recursion,turtle-graphics,Python,Recursion,Turtle Graphics,我需要使用Turtle和递归函数绘制一个H树分形。我对递归有一个基本的了解,但似乎不知道如何创建H树。我可以为级别1绘制H,这只是一个H,但在那之后,我不确定如何再绘制4个H形状等等 H树图像: 我还没有把这个编码好,但我会试着解释怎么做。H-树是一个大写的H-树,其大小为其立柱末端四个点的一半。所以你需要一个函数,比如 drawH(x, y, size) 这里的x和y是横杆中心的坐标,而尺寸就是横杆的长度。除了绘制H,drawH还有四个递归调用,如 图纸(x1,y1,尺寸/2) 其中x1,

我需要使用Turtle和递归函数绘制一个H树分形。我对递归有一个基本的了解,但似乎不知道如何创建H树。我可以为级别1绘制H,这只是一个H,但在那之后,我不确定如何再绘制4个H形状等等

H树图像:


我还没有把这个编码好,但我会试着解释怎么做。H-树是一个大写的H-树,其大小为其立柱末端四个点的一半。所以你需要一个函数,比如

drawH(x, y, size) 
这里的x和y是横杆中心的坐标,而尺寸就是横杆的长度。除了绘制H,drawH还有四个递归调用,如

图纸(x1,y1,尺寸/2)

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

你可能已经注意到了一个问题。这永远不会停止;它吸引了无限多的观众。因此,我们需要另一个参数:

drawH(x, y, size, level)
递归调用就变成了

drawH(x1, y1, size/2, level-1)
现在,如果level==0,drawH不会进行任何绘制。在我看来,在最初的通话中,您需要级别=3

我希望这有帮助。你可以用海龟画出一些令人惊叹的分形图;玩得开心