Beispiel #1
0
        return FSC(None,[I],None)

    def produce(self,actuals,data):
        i = actuals.unpack(ASC.SP)
        return I(i.t+data.dt,i.dl,i.dw)        

class P2(Production):
    def context(self):
        return FSC(None,[B],None)

    def produce(self,actuals,data):
        b = actuals.unpack(ASC.SP)
        return B(b.t+data.dt)        
    
class Data:
    def __init__(self,gp,dl,dw,dt):
        self.gp = gp
        self.dl = dl
        self.dw = dw
        self.dt = dt

data0 = Data(10,5,0.1,1)

ls = LSystem(int(sys.argv[1]),data0)
ls.declare(P0())
ls.declare(P1())
ls.declare(P2())
ls.setAxiom([A(1,data0.dl,data0.dw)])
ls.setDerivationDepth(100)
Renderer(ls,None,scale=2.75).render()
Beispiel #2
0
        self.alpha = alpha
        self.beta = beta
        self.gamma = gamma
        self.dl = dl
        self.dw = dw
        self.budSize = bs
        self.min = m
        self.ls = ls
        self.a = 0
        self.b = 0
        self.c = 1
        self.csg = csg


data0 = Data(32.0, 20.0, 90.0, 1.0, 1.0, 1.1, 2.0, 3, topiary)

if __name__ == "__main__":
    seed = 1965
    ls = LSystem(seed, data0)
    ls.setAxiom([w(1), I(25, 0.5), A(1, 5, 0.5), Q()])
    ls.setDerivationDepth(31)
    ls.declare(P0())
    ls.declare(P1())
    ls.declare(P2())
    ls.declare(P3())
    ls.declare(P4())
    ls.declare(P5())
    ls.declare(P6())

    Renderer(ls, data0.csg, 'drawCSG', scale=5.0).render()
Beispiel #3
0
        self.b = 0
        self.c = 1
        self.csg = csg


data0 = Data(32.0, 20.0, 90.0, 1.0, 1.0, 1.1, 2.0, 3, topiary)

if __name__ == "__main__":
    if len(sys.argv) < 5:
        print "Usage: python %s <axiom> <data> <depth> <seed>" % sys.argv[0]
        print "Example: \"[w(0.5),F(25,0.5),A(1,5,0.5),Q()]\" data0 5 92333"
        quit()

    # Axiom on form: "[A(),Q()]"
    data = eval(sys.argv[2])
    maxDepth = int(sys.argv[3])
    axiom = eval(sys.argv[1])
    seed = int(sys.argv[4])
    ls = LSystem(seed, data)
    ls.setAxiom(axiom)
    ls.setDerivationDepth(maxDepth)
    ls.declare(P0())
    ls.declare(P1())
    ls.declare(P2())
    ls.declare(P3())
    ls.declare(P4())
    ls.declare(P5())
    ls.declare(P6())

    Renderer(ls, data.csg, 'drawCSG', scale=5.0).render()