View difference between Paste ID: Ubc7Dtaq and 5kAhz7RE
SHOW: | | - or go back to the newest paste.
1
from turtle import *
2
3
4
axiomA='A'
5
rulesA = {}
6
rulesA['A'] = 'AB'
7
rulesA['B'] = 'A'
8
9
axiomB='B'
10
rulesB = {}
11
rulesB['B'] = 'BA'
12
rulesB['A'] = 'B'
13
14
axiomF='F'
15
rulesF = {}
16
rulesF['F'] = 'F+F-F-F+F'
17
turtleRulesF = {}
18
turtleRulesF['F'] = 'forward(10)'
19
turtleRulesF['+'] = 'left(90)'
20
turtleRulesF['-'] = 'right(90)'
21
22
axiomS='A'
23
rulesS = {}
24
rulesS['A'] = 'B-A-B'
25
rulesS['B'] = 'A+B+A'
26
turtleRulesS = {}
27
turtleRulesS['A'] = 'forward(5)'
28
turtleRulesS['B'] = 'forward(5)'
29
turtleRulesS['+'] = 'left(60)'
30
turtleRulesS['-'] = 'right(60)'
31
32
33-
print iterate(axiomA,rulesB,6)
33+
34-
print iterate(axiomB,rulesA,6)
34+
35-
directions = iterate(axiomF,rulesF,3)
35+
36-
print directions
36+
37
            output = output + rules.get(i,i)
38
        return output
39
40-
for words in directions:
40+
41-
    if words == 'F':
41+
42-
        forward(10)
42+
43-
    elif words == '+':
43+
44-
        left(90)
44+
45-
    elif words == '-':
45+
46-
        right(90)
46+
47-
        
47+
48
#print iterate(axiomA,rulesB,6)
49
#print iterate(axiomB,rulesA,6)
50
#directions = iterate(axiomF,rulesF,3)
51
#print directions
52
53
def evaluate(axiom,rules,turtleRules,times):
54
    for words in iterate(axiom,rules,times):
55
        eval(turtleRules[words])
56
57
speed(0)
58
setx(-200)
59
color('red','yellow')
60
begin_fill()
61
evaluate(axiomS,rulesS,turtleRulesS,6)
62
end_fill()
63
done()
64
65
#special thanks to http://www.4dsolutions.net/ocn/lsystems.html