用递归实现分形画图fractals
时间: 2024-06-14 11:04:57 浏览: 116
递归是一种常用的方法来实现分形画图。通过递归,我们可以将一个图形分解成多个相似的子图形,并且每个子图形又可以继续分解。以下是一个使用递归实现分形画图的示例代码:
```python
import turtle
def draw_fractal(length, depth):
if depth == 0:
turtle.forward(length)
else:
draw_fractal(length/3, depth-1)
turtle.left(60)
draw_fractal(length/3, depth-1)
turtle.right(120)
draw_fractal(length/3, depth-1)
turtle.left(60)
draw_fractal(length/3, depth-1)
# 初始化画布
turtle.setup(800, 600)
turtle.speed(0)
turtle.penup()
turtle.goto(-200, -200)
turtle.pendown()
# 调用递归函数绘制分形图形
draw_fractal(400, 4)
# 隐藏画笔
turtle.hideturtle()
turtle.done()
```
这段代码使用了Python的turtle库来绘制分形图形。在递归函数`draw_fractal`中,首先判断递归的终止条件,当深度为0时,直接绘制一条线段;否则,将图形分解成四个子图形,并分别递归调用`draw_fractal`函数来绘制子图形。
阅读全文