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()
], [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()