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
        ], [p(-data.a2),
            l(), B(a.length * data.r2, a.width * data.wr)]


class Data:
    def __init__(self, r1, r2, a1, a2, wr):
        self.r1 = r1
        self.r2 = r2
        self.a1 = a1
        self.a2 = a2
        self.wr = wr


fig_a = Data(0.9, 0.7, 5, 65, 0.707)
fig_b = Data(0.9, 0.7, 10, 60, 0.707)
fig_c = Data(0.9, 0.8, 20, 50, 0.707)
fig_d = Data(0.9, 0.8, 35, 35, 0.707)

if __name__ == "__main__":
    # Run stand alone
    if len(sys.argv) < 2:
        print "Usage: python", sys.argv[0], "<Data>"
        quit()
    data = eval(sys.argv[1])
    ls = LSystem(0, data)
    ls.declare(P1())
    ls.declare(P2())
    ls.setAxiom([A(80, 10)])
    ls.setDerivationDepth(10)
    Renderer(ls, None, scale=2.0).render()