梧桐树模拟系统设计2

2501_93087963 2025-10-14 13:36:39

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)
 

...全文
308 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

108

社区成员

发帖
与我相关
我的任务
社区描述
我要建立一座最最漂亮的大厦,目前我正为之添砖加瓦!
社交电子无人机自动驾驶 个人社区
社区管理员
  • 流浪猪头拯救地球
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

GNSS技术交流社区,希望可以为热爱卫星导航定位技术、组合导航、智能驾驶、无人机等的朋友提供一个靠谱的技术交流平台~

试试用AI创作助手写篇文章吧