Фрактал дракон хартера хейтуэя

Фрактал дракон хартера хейтуэя

Дракон Хартера, также известный как дракон Хартера — Хейтуэя, был впервые исследован физиками NASA — John Heighway, Bruce Banks, и William Harter. Кривая дракона принадлежит к семейству некоторых фрактальных кривых, которые могут быть получены рекурсивными методами. Дракон Хартера был описан в 1967 году Мартином Гарднером (Martin Gardner) в колонке «Математические игры» журнала «Scientific American». Многие свойства фрактала были описаны Чандлером Девисом и Дональдом Кнутом.

Фрактал может быть записан как L-система с параметрами:
• угол равен 90°
• начальная строка — FX
• правила преобразования строк:
• X X+YF+
• Y -FX-Y

Для его построения возьмем отрезок. Повернем его на 90 градусов вокруг одной из вершин и добавим полученный отрезок к исходному. Получим уголок из двух отрезков. Повторим описанную процедуру. Повернем уголок на 90 градусов вокруг вершины и добавим полученную ломаную к исходной.

Повторяя названные действия и уменьшая ломаные, будем получать все более сложные линии, напоминающие фигуру дракона.

Пример алгоритма на delphi:

Можно увидеть «повторения» в кривой дракона. Очевидно, что рисунок повторяется по той же схеме, с наклоном в 45 ° и коэффициентом сжатия равном корню из двух. Таким образом, точки сгиба образуют логарифмическую спираль. Фрактальная размерность кривой:

Что относит её к кривым Пеано.
Кривые дракона обладают еще одним интересным свойством: при совмещении нескольких из них, они не пересекаются, создавая потрясающие узоры.


Кривая драконы-близнецы, также известная как дракон Девиса-Кнута, может быть построена путем размещения двух кривых дракона "спиной к спине".


Кривой Леви, также приписывают схожесть с драконом, иногда называя её драконом Леви.

Доброго времени суток. Столкнулся с задачей по представлению "драконовой ломаной" на простом js.
Собственно получилось вот что:

Читайте также:  Как изменить свою фамилию в фейсбук

Вопрос заключается в следующем:
хотелось бы посмотреть как реализовать замену 1 на 0 или 0 на 1 через метод forEach() (мои попытки оказались безуспешными).

Придумал эту кривую физик Джон Хейтуэй, а теорию разработали Вильям Хартер, Хейтуэй и Брюс Бенкс. Относится этот объект к фрактальным кривым и может быть получен рекурсивным способом, но о нём ниже. На рисунке выше изображён дракон 12-го порядка.

Для получения кривой было использовано её двоичное представление. В последовательности цифр двоичного числа единице соответствует поворот налево, а нулю — направо. Числа представлены ниже:
1 — дракоша 1-го порядка
110 — 2-го
1101100 — 3-го
110110011100100 — 4-го
и т.д. Алгоритм для любого порядка кривой следующий — к числу дракона Х предыдущего порядка справа дописываем 1 и тот же X, только с в центре.

Поначалу мне показался удивительным тот факт, что хвосты драконов произвольного порядка лежат на логарифмической спирали, ведь из описанного метода построения никакие спирали вроде бы не следуют. Даже думал, каким образом это можно доказать, но только до тех пор, пока на глаза не попался рекурсивный метод её построения.

FUNCTION dragon (x1,y1,x2,y2,k)
IF (k > 0)
xs = (x1 + x2) / 2 + (y2 — y1) / 2
ys = (y1 + y2) / 2 — (x2 — x1) / 2
dragon (x2,y2,xs,ys,k-1)
dragon (x1,y1,xs,ys,k-1)
ELSE
line (x1,y1)-(x2,y2)
END IF
END FUNCTION

Теперь логарифмическая спираль стала просто очевидной, ведь при каждой итерации начальный отрезок поворачивается на 45º и уменьшается в √2 раз

Ниже кривая 14-го порядка. Поверх каждого дракона нарисован дракон с меньшим на единицу порядком и цвета их чередуются (это чтобы лучше видеть, как они держутся крючковатыми своими плавниками за Spira mirabilis).

А напоследок упомяну ещё за одну особенность. Если сцепить драконов головами (или хвостами), то они будут покрывать сетку на плоскости без пересечений друг друга. Существует также теорема, доказанная Дональдом Кнутом, о том, что четыре кривых дракона бесконечного порядка можно сцепить таким образом, что они полностью покроют всю сетку на плоскости.

Ссылка на основную публикацию
Формула рандома в паскале
Здравствуйте, уважаемые читатели нашего сайта. Сегодня мы рассмотрим две полезные процедуры в паскале - Random и Randomize.И опять я начну...
Фильм про девушку запертую в квартире
От нехватки ли бюджета, по сюжетному ли велению или просто из желания выпендриться, режиссеры время от времени помещают киноперсонажей в...
Фильмы для ipod classic
Хорошо, когда есть возможность удобно устроиться перед широким экраном огромного телевизора, а что делать, когда находишься в дороге и доступа...
Формула расчета мощности конденсатора
Реактивная мощность обусловлена способностью реактивных элементов накапливать и отдавать электрическую или магнитную энергию. Eмкостная нагрузка в цепи переменного тока за...
Adblock detector