Рисование l-string фракталов на Python

Одни из самых простейших фракталов - самоподобные строки с инструкциями. L-String фракталы. При рисовании возможны следующие команды:

  • F вперед и рисовать линию
  • f вперед без линии
  • ‘+’ поворот вправо на угол
  • ‘-’ поворот влево на угол

Задается первоначальная аксиома - формула, а также правила изменения этой формулы (rules). Затем рекурсивно эти правила применяются на формуле, так что получается длинная строка с командами рисования(“F+F-…”). И эта команда отображается на канвасе TKINTER, либо с помощью черепахи. Черепахой красивее, но медленнее. С разными аксиомами и правилами получаются очень красивые изображения.

Код рисования с TKinter

Код рисования с черепахой

Примеры аксиом и рисунков:

axiom = "FFFF"
rules = {"F":"F++F++"}
iterations = 12 # TOP: 16
angle = 45

Скрин примера 1

axiom = "FFFF"
rules = {"F":"F++F++"}
iterations =11 # TOP: 16
angle = 120

Скрин примера 2

axiom = "F"
rules = {"F":"F+FF+F+F+FF+F+"}
iterations = 4 # TOP: 16
angle = 90

Скрин примера 3

axiom = "F"
rules = {"F":"F+F+++F+F+"}
iterations =9
angle = 60

Скрин примера 4