用python画一棵树:
import turtle
import random
def draw_fancy_tree(t, branch_length, angle, thickness):
"""画彩色递归树"""
if branch_length > 5:
t.pensize(thickness)
# 树枝越细颜色越浅
color_val = branch_length / 100
if branch_length > 30:
t.color(139/255, 69/255, 19/255) # 棕色树干
else:
t.color(0, color_val + 0.3, 0) # 绿色树叶
t.forward(branch_length)
# 随机分支角度(更自然)
left_angle = angle + random.randint(-10, 10)
right_angle = angle + random.randint(-10, 10)
# 右分支
t.right(right_angle)
draw_fancy_tree(t, branch_length - random.randint(8, 18),
angle, thickness * 0.8)
# 左分支
t.left(right_angle + left_angle)
draw_fancy_tree(t, branch_length - random.randint(8, 18),
angle, thickness * 0.8)
# 回到原位
t.right(left_angle)
t.backward(branch_length)
# 设置画布
screen = turtle.Screen()
screen.bgcolor(135/255, 206/255, 235/255) # 天空蓝
t = turtle.Turtle()
t.speed(0)
t.left(90)
t.penup()
t.goto(0, -250)
t.pendown()
# 开始画彩色分形树
draw_fancy_tree(t, 90, 25, 12)
t.hideturtle()
screen.mainloop()