small_pine.py 文件源码

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

项目:tree-gen 作者: friggog 项目源码 文件源码
def q_prod(sym):
    """Production rule for Q"""
    ret = [LSymbol("!", {"w": sym.parameters["w"]}),
           LSymbol("&", {"a": 90}),
           LSymbol("+", {"a": random() * 360}),
           LSymbol("!", {"w": sym.parameters["bw"]})]
    b_count = int(random() * 2) + 5
    for _ in range(b_count):
        rand = random() * 130 / b_count
        ret.extend([LSymbol("+", {"a": rand}),
                    LSymbol("["),
                    LSymbol("^", {"a": 5 / max(sym.parameters["bl"] * sym.parameters["bl"], 0.05
                                               ) - 30 * (random() * 0.2 + 0.9)}),
                    LSymbol("A", {"l": sym.parameters["bl"], "w": sym.parameters["bw"]}),
                    LSymbol("]"),
                    LSymbol("+", {"a": (360 / b_count) - rand})])
    ret.extend([LSymbol("!", {"w": sym.parameters["w"]}),
                LSymbol("$"),
                LSymbol("F", {"l": sym.parameters["l"],
                              "leaves": int(sym.parameters["l"] * __n_leaves__ / 3),
                              "leaf_d_ang": 20,
                              "leaf_r_ang": 140}),
                LSymbol("Q", {"w": sym.parameters["w"] - 0.2 / 15,
                              "l": sym.parameters["l"] * 0.95,
                              "bw": sym.parameters["bw"] * __width_r__,
                              "bl": sym.parameters["bl"] * __branch_length_r__}),
                LSymbol("%")])
    return ret
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号