108
社区成员
发帖
与我相关
我的任务
分享def draw_tree(self, axiom, depth):
stack = []
for cmd in axiom:
if cmd == 'F':
self pen forward(self model trunk_length *
(self model reduction_factor**depth))
elif cmd == '+':
self pen right(self model branch_angle)
elif cmd == '-':
self pen left(self model branch_angle)
elif cmd == '[':
stack append((self pen position(), self pen heading()))
elif cmd == ']':
pos, heading = stack pop()
self pen penup()
self pen setposition(pos)
self pen setheading(heading)
self pen pendown()
# 添加叶片(简化版)
if depth == 0:
self _add_leaves()
def _add_leaves(self):
"""随机添加叶片"""
import random
self pen color("green")
for _ in range(int(50 * self model leaf_density)):
self pen penup()
x = random uniform(-50, 50)
y = random uniform(0, 150)
self pen setposition(x, y)
self pen dot(8)