使用turtle库绘制分形树, 要求树干、树梢(或树叶)颜色不同,如下图所示。大家可自行定义树的 结构,要求用到递归函数。
时间: 2024-09-23 20:16:11 浏览: 55
在Python中,我们可以使用turtle库来创建分形树,通常通过递归函数来模拟分支的生长过程。以下是一个简单的示例,它将创建一个基本的分形树,树干和树叶颜色不同:
```python
import turtle
# 定义颜色
colors = ['brown', 'green']
def draw_branch(branch_length, angle):
if branch_length > 5: # 树枝长度小于5停止绘制
turtle.color(colors) # 随机选择颜色
turtle.forward(branch_length)
turtle.left(angle)
draw_branch(branch_length / 3, angle) # 继续向下画小分支
turtle.right(2 * angle) # 向右转,继续下一个分支
draw_branch(branch_length / 3, angle)
# 设置初始参数
angle = 40 # 分支角度
branch_length = 150 # 初始分支长度
turtle.speed(0) # 加快绘图速度
# 开始绘制树
turtle.penup()
turtle.goto(-branch_length/2, -branch_length*3) # 将画笔移动到树根位置
turtle.pendown()
draw_branch(branch_length, angle)
# 结束前隐藏turtle
turtle.hideturtle()
turtle.done() # 等待用户关闭窗口
```
在这个例子中,`draw_branch` 函数是递归的,每次调用自身时都会减小分支长度并增加旋转角度,形成类似自然树的分叉效果。你可以根据需要调整颜色列表、分支长度比例以及分支角度。
阅读全文