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()
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()
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()