PHP 7.4.33
Preview: tdemo_lindenmayer_indian.py Size: 2.38 KB
//lib64/python2.7/Demo/turtle/tdemo_lindenmayer_indian.py

#! /usr/bin/python2.7
"""       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()

Directory Contents

Dirs: 0 × Files: 58

Name Size Perms Modified Actions
3.44 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
302 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
2.96 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
4.12 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
5.19 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
5.19 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
951 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
2.24 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.24 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.14 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
4.43 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.43 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.31 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
2.31 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.31 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.33 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
3.44 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.44 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.05 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
1.62 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.62 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.38 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
3.52 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.52 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.00 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
3.54 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.54 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
6.36 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
9.16 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
9.16 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.26 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
1.86 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.86 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.04 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
1.36 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.36 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.45 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
5.86 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
5.86 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.76 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
4.43 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.43 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.38 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
2.07 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.07 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.09 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
1.60 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.60 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.32 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
1.91 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.91 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
807 B lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
1.29 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.29 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
160 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
9.85 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
10.69 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
10.69 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).