summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/turtledemo/tdemo_lindenmayer_indian.py119
1 files changed, 0 insertions, 119 deletions
diff --git a/Lib/turtledemo/tdemo_lindenmayer_indian.py b/Lib/turtledemo/tdemo_lindenmayer_indian.py
deleted file mode 100644
index 3925f25..0000000
--- a/Lib/turtledemo/tdemo_lindenmayer_indian.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env python3
-""" turtle-example-suite:
-
- xtx_lindenmayer_indian.py
-
-Each morning women in Tamil Nadu, in southern
-India, place designs, created by using rice
-flour and known as kolam on the thresholds of
-their homes.
-
-These can be described by Lindenmayer systems,
-which can easily be implemented with turtle
-graphics and Python.
-
-Two examples are shown here:
-(1) the snake kolam
-(2) anklets of Krishna
-
-Taken from Marcia Ascher: Mathematics
-Elsewhere, An Exploration of Ideas Across
-Cultures
-
-"""
-################################
-# Mini Lindenmayer tool
-###############################
-
-from turtle import *
-
-def replace( seq, replacementRules, n ):
- for i in range(n):
- newseq = ""
- for element in seq:
- newseq = newseq + replacementRules.get(element,element)
- seq = newseq
- return seq
-
-def draw( commands, rules ):
- for b in commands:
- try:
- rules[b]()
- except TypeError:
- try:
- draw(rules[b], rules)
- except:
- pass
-
-
-def main():
- ################################
- # Example 1: Snake kolam
- ################################
-
-
- def r():
- right(45)
-
- def l():
- left(45)
-
- def f():
- forward(7.5)
-
- snake_rules = {"-":r, "+":l, "f":f, "b":"f+f+f--f--f+f+f"}
- snake_replacementRules = {"b": "b+f+b--f--b+f+b"}
- snake_start = "b--f--b--f"
-
- drawing = replace(snake_start, snake_replacementRules, 3)
-
- reset()
- speed(3)
- tracer(1,0)
- ht()
- up()
- backward(195)
- down()
- draw(drawing, snake_rules)
-
- from time import sleep
- sleep(3)
-
- ################################
- # Example 2: Anklets of Krishna
- ################################
-
- def A():
- color("red")
- circle(10,90)
-
- def B():
- from math import sqrt
- color("black")
- l = 5/sqrt(2)
- forward(l)
- circle(l, 270)
- forward(l)
-
- def F():
- color("green")
- forward(10)
-
- krishna_rules = {"a":A, "b":B, "f":F}
- krishna_replacementRules = {"a" : "afbfa", "b" : "afbfbfbfa" }
- krishna_start = "fbfbfbfb"
-
- reset()
- speed(0)
- tracer(3,0)
- ht()
- left(45)
- drawing = replace(krishna_start, krishna_replacementRules, 3)
- draw(drawing, krishna_rules)
- tracer(1)
- return "Done!"
-
-if __name__=='__main__':
- msg = main()
- print(msg)
- mainloop()