/usr/lib64/python3.12/turtledemo
NameSizeModeActions
__pycache__/-0755rm
bytedesign.py42480755editdlrm
chaos.py9510644editdlrm
clock.py33040755editdlrm
colormixer.py13390644editdlrm
forest.py29660755editdlrm
fractalcurves.py34730755editdlrm
lindenmayer.py24340755editdlrm
minimal_hanoi.py20510755editdlrm
nim.py65130644editdlrm
paint.py12910755editdlrm
peace.py10660755editdlrm
penrose.py33800755editdlrm
planet_and_moon.py28250755editdlrm
rosette.py13610644editdlrm
round_dance.py18040644editdlrm
sorting_animate.py50530755editdlrm
tree.py14010755editdlrm
turtle.cfg1600644editdlrm
two_canvases.py11190644editdlrm
yinyang.py8210755editdlrm
__init__.py3140644editdlrm
__main__.py153840755editdlrm
Edit: /usr/lib64/python3.12/turtledemo/lindenmayer.py (2434B)
#! /usr/bin/python3.12 """ 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()