Пример #1
0
 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'
     ]
Пример #2
0
 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']
Пример #3
0
 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'
     ]
Пример #4
0
 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'
     ]
Пример #5
0
 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)
Пример #8
0
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)
Пример #10
0
def dragon(n):
    return lindenmayer('FX', {'X': 'X-YF-', 'Y': '+FX+Y'}, n)
Пример #11
0
def gosper(n):
    return lindenmayer('L', {
        'L': 'LF-RF--RF+LF++LFLF+RF-',
        'R': '+LF-RFRF--RF-LF++LF+RF'
    }, n)