small_pine.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:tree-gen 作者: friggog 项目源码 文件源码
def a_prod(sym):
    """Production rule for A"""
    if random() < sym.parameters["l"]:
        ang = random() * __sec_branch_ang_v__ + __sec_branch_ang__
        return [LSymbol("!", {"w": sym.parameters["w"]}),
                LSymbol("^", {"a": random() * 15 - 5}),
                LSymbol("F", {"l": sym.parameters["l"],
                              "leaves": int(sym.parameters["l"] * __n_leaves__),
                              "leaf_d_ang": 40,
                              "leaf_r_ang": 140}),
                LSymbol("-", {"a": ang / 2}),
                LSymbol("["),
                LSymbol("A", {"l": sym.parameters["l"] * __length_r__,
                              "w": sym.parameters["w"] * __width_r__}),
                LSymbol("]"),
                LSymbol("+", {"a": ang}),
                LSymbol("["),
                LSymbol("A", {"l": sym.parameters["l"] * __length_r__,
                              "w": sym.parameters["w"] * __width_r__}),
                LSymbol("]"),
                LSymbol("-", {"a": ang / 2}),
                LSymbol("A", {"l": sym.parameters["l"] * __length_r__,
                              "w": sym.parameters["w"] * __width_r__})]
    else:
        return [LSymbol("!", {"w": sym.parameters["w"]}),
                LSymbol("^", {"a": random() * 15 - 5}),
                LSymbol("F", {"l": sym.parameters["l"],
                              "leaves": int(sym.parameters["l"] * __n_leaves__),
                              "leaf_d_ang": 40,
                              "leaf_r_ang": 140}),
                LSymbol("A", {"l": sym.parameters["l"] * __length_r__,
                              "w": sym.parameters["w"] * __width_r__})]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号