def setUp(self): s = N.lindenmayer(2) r = [['AB', self.replaceFunction, 1, 'function']] s.add_rules(r) axiom = 'ACCCABABDD' self.result = [] for i in range(5): axiom = s._apply_rules(axiom) self.result.append(axiom) self.answer = [ 'ACCCOOABOOABDD', 'ACCCOOBAABOOAABBDD', 'ACCCOOBABAABOOAABBDD', 'ACCCOOBABABAABOOAABBDD', 'ACCCOOBABABABAABOOAABBDD' ]
def setUp(self): s = N.lindenmayer(2) r = [['AB', self.replaceFunction, 1, 'function']] s.add_rules(r) axiom = 'ACCCABABDD' self.result = [] for i in range(5): axiom = s._apply_rules(axiom) self.result.append(axiom) self.answer = ['ACCCOOABOOABDD', 'ACCCOOBAABOOAABBDD', 'ACCCOOBABAABOOAABBDD', 'ACCCOOBABABAABOOAABBDD', 'ACCCOOBABABABAABOOAABBDD']
def setUp(self): s = N.lindenmayer(2) r = [['AA', 'BBAAC'], ['AB', 'ABC'], ['AC', 'BCC']] s.add_rules(r) axiom = 'AA' self.result = [] for i in range(8): axiom = s._apply_rules(axiom) self.result.append(axiom) self.answer = [ 'BBAAC', 'BBBBAACC', 'BBBBBBAACCC', 'BBBBBBBBAACCCC', 'BBBBBBBBBBAACCCCC', 'BBBBBBBBBBBBAACCCCCC', 'BBBBBBBBBBBBBBAACCCCCCC', 'BBBBBBBBBBBBBBBBAACCCCCCCC' ]
def setUp(self): s = N.lindenmayer(1) r = [['A', 'BAC']] s.add_rules(r) axiom = 'A' self.result = [] for i in range(10): axiom = s._apply_rules(axiom) self.result.append(axiom) self.answer = [ 'BAC', 'BBACC', 'BBBACCC', 'BBBBACCCC', 'BBBBBACCCCC', 'BBBBBBACCCCCC', 'BBBBBBBACCCCCCC', 'BBBBBBBBACCCCCCCC', 'BBBBBBBBBACCCCCCCCC', 'BBBBBBBBBBACCCCCCCCCC' ]
def setUp(self): s = N.lindenmayer(1) r = [['A', 'BAC'], ['B', 'BC']] s.add_rules(r) axiom = 'A' self.result = [] for i in range(8): axiom = s._apply_rules(axiom) self.result.append(axiom) self.answer = ['BAC', 'BCBACC', 'BCCBCBACCC', 'BCCCBCCBCBACCCC', 'BCCCCBCCCBCCBCBACCCCC', 'BCCCCCBCCCCBCCCBCCBCBACCCCCC', 'BCCCCCCBCCCCCBCCCCBCCCBCCBCBACCCCCCC', 'BCCCCCCCBCCCCCCBCCCCCBCCCCBCCCBCCBCBACCCCCCCC']
import random from lindenmayer import lindenmayer axiom = 'F' rules = [['F', '0FFL[1LFRFRF]R[2RFLFLF]']] start_position = (0, -200) iterations = 5 turtle_file = '19_lindenmayer_tree_turtle.py' image_file = '19_lindenmayer_tree_turtle.svg' mapping = {'set_angle': 22, 'random_angle': 0, 'set_distance': 5, 'random_distance': 0, 'set_heading': 90, 'background_colour': 'ivory', 'F': 'forward', 'R': 'right', 'L': 'left', '[': 'push', ']': 'pop', '0': 'brown', '1': 'dark green', '2': 'forest green' } l = lindenmayer(1) l.add_rules(rules) l.generate(axiom, iterations) l.turtle_generate(turtle_file, image_file, start_position, mapping)
def gosper_island(n): return lindenmayer('LF--RF--LF--RF--LF--RF', {'L':'+F---F+++F', 'R': '---F-F+F'},n)
def hilbert(n): return lindenmayer('L', {'L': '-RF+LFL+FR-', 'R': '+LF-RFR-FL+'}, n)
def koch(n): return lindenmayer('F', {'F':'F-F+F+F-F'}, n)
def dragon(n): return lindenmayer('FX', {'X': 'X-YF-', 'Y': '+FX+Y'}, n)
def gosper(n): return lindenmayer('L', { 'L': 'LF-RF--RF+LF++LFLF+RF-', 'R': '+LF-RFRF--RF-LF++LF+RF' }, n)