Меню
Главная
Случайная статья
Настройки
|
Кривая дракона — общее название для некоторых фрактальных кривых, которые могут быть аппроксимированы рекурсивными методами, такими как L-системы.
Дракон Хартера — Хейтуэя
Дракон Хартера, также известный как дракон Хартера — Хейтуэя.
Он был описан в 1967 году Мартином Гарднером в колонке «Математические игры» журнала «Scientific American». Многие из свойств фрактала были описаны Чендлером Дэвисом (Chandler Davis) и Дональдом Кнутом.
Фрактал может быть записан как L-система с параметрами:
- угол равен 90° или pi/2
- начальная строка — FX
- правила преобразования строк:
- X X+YF+
- Y -FX-Y
Кроме того, фрактал может быть описан системой итерируемых функций на комплексной плоскости:
- .
Берём отрезок, сгибаем его пополам, растягиваем сложенное до исходной длины. Затем многократно повторяем итерацию. Если после этого снова разогнуть получившуюся (сложенную) линию так, чтобы все углы были равны 90°, мы получим драконову ломаную.
Примеры
import turtle
turtle.hideturtle()
turtle.tracer(0)
turtle.penup()
turtle.setpos(-100, -150)
turtle.pendown()
axiom, tempAx, logic, count = 'FX', '', {'X': 'X+YF+', 'Y': 'FXY'}, 15
for i in range(count):
for j in axiom:
tempAx += logic[j] if j in logic else j
axiom, tempAx = tempAx, ''
for k in axiom:
if k == 'F':
turtle.forward(2.5)
elif k == '+':
turtle.right(90)
elif k == '':
turtle.left(90)
turtle.update()
turtle.mainloop()
Ссылки
|
|