Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4f2eace

Browse files
committed
Issue #10199: Fixing r86095 - svn did not like combining rename and change of directory.
1 parent 3b87cca commit 4f2eace

1 file changed

Lines changed: 119 additions & 0 deletions

File tree

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
#!/usr/bin/env python3
2+
""" turtle-example-suite:
3+
4+
xtx_lindenmayer_indian.py
5+
6+
Each morning women in Tamil Nadu, in southern
7+
India, place designs, created by using rice
8+
flour and known as kolam on the thresholds of
9+
their homes.
10+
11+
These can be described by Lindenmayer systems,
12+
which can easily be implemented with turtle
13+
graphics and Python.
14+
15+
Two examples are shown here:
16+
(1) the snake kolam
17+
(2) anklets of Krishna
18+
19+
Taken from Marcia Ascher: Mathematics
20+
Elsewhere, An Exploration of Ideas Across
21+
Cultures
22+
23+
"""
24+
################################
25+
# Mini Lindenmayer tool
26+
###############################
27+
28+
from turtle import *
29+
30+
def replace( seq, replacementRules, n ):
31+
for i in range(n):
32+
newseq = ""
33+
for element in seq:
34+
newseq = newseq + replacementRules.get(element,element)
35+
seq = newseq
36+
return seq
37+
38+
def draw( commands, rules ):
39+
for b in commands:
40+
try:
41+
rules[b]()
42+
except TypeError:
43+
try:
44+
draw(rules[b], rules)
45+
except:
46+
pass
47+
48+
49+
def main():
50+
################################
51+
# Example 1: Snake kolam
52+
################################
53+
54+
55+
def r():
56+
right(45)
57+
58+
def l():
59+
left(45)
60+
61+
def f():
62+
forward(7.5)
63+
64+
snake_rules = {"-":r, "+":l, "f":f, "b":"f+f+f--f--f+f+f"}
65+
snake_replacementRules = {"b": "b+f+b--f--b+f+b"}
66+
snake_start = "b--f--b--f"
67+
68+
drawing = replace(snake_start, snake_replacementRules, 3)
69+
70+
reset()
71+
speed(3)
72+
tracer(1,0)
73+
ht()
74+
up()
75+
backward(195)
76+
down()
77+
draw(drawing, snake_rules)
78+
79+
from time import sleep
80+
sleep(3)
81+
82+
################################
83+
# Example 2: Anklets of Krishna
84+
################################
85+
86+
def A():
87+
color("red")
88+
circle(10,90)
89+
90+
def B():
91+
from math import sqrt
92+
color("black")
93+
l = 5/sqrt(2)
94+
forward(l)
95+
circle(l, 270)
96+
forward(l)
97+
98+
def F():
99+
color("green")
100+
forward(10)
101+
102+
krishna_rules = {"a":A, "b":B, "f":F}
103+
krishna_replacementRules = {"a" : "afbfa", "b" : "afbfbfbfa" }
104+
krishna_start = "fbfbfbfb"
105+
106+
reset()
107+
speed(0)
108+
tracer(3,0)
109+
ht()
110+
left(45)
111+
drawing = replace(krishna_start, krishna_replacementRules, 3)
112+
draw(drawing, krishna_rules)
113+
tracer(1)
114+
return "Done!"
115+
116+
if __name__=='__main__':
117+
msg = main()
118+
print(msg)
119+
mainloop()

0 commit comments

Comments
 (0)