Сравнительный анализ алгоритмов формирования геометрических фракталов применительно к вычислению трехмерных фрактальных древовидных объектов
Теплов А.А., Майков К.А., НИУ МГТУ имени Н.Э. Баумана teploff.aa@gmail.com maikov@bmstu.ru
Аннотация
Приведены результаты сравнительного анализа известных алгоритмов формирования двумерных геометрических фракталов, обладающих высоким быстродействием и низкой ресурсоемкостью. Обосновывается выбор прототипа для последующего применения к вычислению трехмерных фрактальных древовидных объектов с практически необходимой степенью детализации.
1 Введение
В настоящее время в области машинной графики существует проблема формирования объектов реального мира, которые зачастую являются ресурсоемкими и нерегулярными структурами. Примерами таких объектов могут являться: горная гряда, кроны деревьев, сердечно-сосудистая система человека и т.д.. Очевидно, что, руководствуясь лишь методами и объектами классической геометрии, процесс формирования упомянутых объектов является трудоемким и порой нереализуемым [1]. Предложенная в [2] фрактальная теория способна справиться с поставленной проблемой, однако методы реализации представляют собой трудоемкий процесс и являются применимыми лишь для двумерной структуры. Поэтому на практике возникает необходимость в определении прототипа метода, в частности, в определении прототипа метода формирования фракталов, который бы предоставлял возможность формирования вышеуказанных систем и являлся бы приемлемым с точки зрения быстродействия и возможности представления трехмерной древовидной структуры.
2 Постановка решаемых задач
Существует определенный ряд задач, в котором необходимо сформировать древовидные трехмерные объекты, описанные некоторым набором точек и закон распределения которых заранее не известен. Примером подобных задач могут являться формирование горного хребта, русел рек, сердечно-
сосудистой системы человека или иной квазипериодической и нерегулярной структуры. В этом случае необходимо произвести формирование указанной структуры на исходном наборе точек так, чтобы процесс являлся реализуемым и удовлетворял критерию приемлемого быстродействия. Указанная проблема может быть решена при помощи методов построения геометрических фракталов.
3 Алгоритмы построения геометрических фракталов
Известные и широко используемые алгоритмы геометрических фракталов можно классифицировать с точки зрения древовид-ности структуры. К классу древовидным алгоритмам могут быть отнесены алгоритмы:
• множество Кантора [3];
• Пифагорово дерево [4];
• двоичное дерево [3].
К классу недревовидным алгоритмам построения геометрических фракталов могут быть отнесены алгоритмы:
• кривая Коха [2];
• кривая «дракона» [2];
• кривая Гильберта [1];
• кривая Минковского [2];
• «салфетка» Серпинского [1];
• «ковер» Серпинского [1];
• «кладбище» Серпинского [1].
Также классификация алгоритмов может быть проведена на основе ограниченности структуры. К классу алгоритмам, которые ограничены структурой, могут быть отнесены алгоритмы:
• множество Кантора;
• «кладбище» Серпинского;
• «салфетку» Серпинского;
• «ковер» Серпинского.
К классу алгоритмам, которые не ограничены структурой, могут быть отнесены алгоритмы:
• Пифагорово дерево;
• двоичное дерево;
• кривую Коха;
• кривую «дракона»;
• кривую Гильберта;
• кривую Минковского.
Рассмотрим основные особенности и проведем анализ алгоритмов формирования геометрических фракталов.
Фрактальная размерность. Одной из важных характеристик фрактальной структуры является её размерность (фрактальная размерность) [2], показывающая, насколько плотно и равномерно элементы данного множества заполняют евклидово пространство (Б < Е). Фрактальная размерность определяется следующей формулой:
Я = - НшМ,
1пе (1), где
е - минимальное число п-мерных окружностей радиуса е , необходимых для покрытия множества.
4 Анализ алгоритмов построения геометрических фракталов
Все перечисленные выше алгоритмы построения геометрических фракталов имеют рекурсивный характер, что вытекает из главного фрактального свойства - самоподобия [2]. Метод подстановки (итераций) [6] является широко используемым методом определения алгоритмической сложности рекурсивных алгоритмов, идея которого заключается в последовательной замене рекуррентной части в выражении для получения новых формали-заций. Замена производится до тех пор, пока не будет достигнуто формализованное представление общего принципа в виде нерекуррентной формулы. Применим данный метод для анализа вышеупомянутых алгоритмов, а также высчитаем фрактальную размерность для каждой из структур.
Применяя метод подстановки и руководствуясь схемами алгоритмов, представленных в [1], [2], [3] и [4] не трудно заметить закономерность и вывести зависимости для вышеописанных алгоритмов:
• кривая Коха: Тп = 0(4п);
• кривая «дракона»: Тп = 0(2п);
• кривая Гильберта: Тп = 0(4п);
• кривая Минковского: Тп = 0(8п);
• множество Кантора: Тп = 0(2п);
• Пифагорово дерево: Тп = 0(2п);
• двоичное дерево: Тп = 0(2п);
• «салфетка» Серпинского: Тп = 0(3п);
• «ковер» Серпинского: Тп = 0(8п);
• «кладбище» Серпинского: Тп = 0(4п) .
Из проведенного анализа алгоритмической сложности алгоритмов следует, что алгоритмам формирования геометрических фракталов свойственна показательная зависимость [6], которая обусловлена масштабной инвариантностью структуры.
Вычисляя фрактальную размерность рассмотренных алгоритмов построения геометрических фракталов при помощи формулы (1), получаем следующие значения для рассмотренных алгоритмов:
1п4
кривая Коха: Я =
1п3
а.262;
кривая «дракона»: Я =
кривая Гильберта: Я =
1п4 1п3
1.262
1п4
1п2
=2;
1п8
кривая Минковского: Я =-= 1.5;
1п4
множество Кантора: Я = Пифагорово дерево: Я =
1п2
1п3 1п2
= 0.63;
1п 2
= 2;
Я
двоичное дерево: Я
1п2
1п 2
2;
«салфетка»
в=»
1п2
72
Серпинского:
1.585
«ковер» Серпинского: Я =
1п8
1.893
«кладбище»
Я = ^ »1.262. 1п3
1п3
Серпинского:
Из проведенного анализа фрактальной размерности алгоритмов формирования геометрических фракталов следует, что алгоритмам свойственно значение, лежащее в диапазоне от 1 до 2, что обусловлено характером формирования фрактальной структуры.
Подводя итоги проведенного сравнительного анализа алгоритмов формирования гео-
метрических фракталов, можно составить результирующую таблицу.
Из табл.1. отчетливо видно, что из рассмотренных алгоритмов, алгоритмы формирования: кривой «дракона», множества Кантора, Пифагорова дерева и двоичного дерева, имеют приемлемую алгоритмическую сложность. С другой стороны такие алгоритмы, как: кривая Гильберта, Пифагорово дерево и двоичное дерево имеют высокую фрактальную размерность.
5 Выбор прототипа
Практические особенности задачи по-
строения динамических трехмерных древовидных объектов определяют такие требования к фрактальным алгоритмам, как высокое быстродействие и низкая ре-сурсоемкость, а также отображение многообразия фрактальной структуры. Как следует из приведенных выше результатов анализа, рассмотренные алгоритмы
решают лишь задачу формирования двумерных фракталов и не удовлетворяют в полной мере предложенным требованиям. Поэтому возникает необходимость построения алгоритма, который бы решал поставленную проблему, имел приемлемую алгоритмическую сложность, имел древовидную структуру и высокую фрактальную размерность.
Из приведенных выше результатов сравнительного анализа следует, что фрактальные алгоритмы, такие как: кривая «дракона», множество Кантора, Пифагорово дерево и двоичное дерева, имеют приемлемую алгоритмическую сложность среди своих представителей и удовлетворяют критериям высокого быстродействия, низкой ресурсоемкости, не ограничены в структуре, имеют высокую фрактальную размерность и два представителя которых имеют древовидную структуру.
Предлагается метод, который представляет собой функциональное единство описанных выше алгоритмов и позволяет сформировать трехмерную древовидную квазипериодичную структуру.
6 Выводы
В результате проведенного сравнительного анализа практически востребованных алгоритмов формирования двумерных фракталов, показано, что рассмотренные методы не удовлетворяют требованиям построения трехмерных древовидных объектов с заранее определенной степенью детализации, а, следовательно, возникает практическая необходимость формирования алгоритма, который бы решал поставленную проблему. Предложен алгоритм формирования трехмерных геометрических фракталов, преимущественной особенностью которого является функциональное единство ряда методов построения двумерных геометрических фракталов.
Табл. 1. Результаты сравнительного анализа алгоритмов формирования геометрических _фракталов
Наименование 0( N) Б Ограни-чен-ность
Кривая Коха 0(4") 1.262 -
Кривая «драко- 0(2") 1.262 -
на»
Кривая Гиль- 0(4") 2 -
берта
Кривая Минков- 0(8") 1.5 -
ского
Множество 0(2") 0.63 +
Кантора
Пифагорово де- 0(2") 2 -
рево
Двоичное дере- 0(2") 2 -
во
«Салфетка» 0(3") 1.585 +
Серпинского
«Ковер» Сер- 0(8") 1.893 +
пинского
«Кладбище» 0(4") 1.262 +
Серпинского
Список литературы
1. Федер Е. Фракталы: Пер. с анг. - М.: Мир, 1991. - 254 с.
2. Мандельброт Б. Фрактальная геометрия природы. - Москва: Институт компьютерных исследований, 2002. - 656 с.
3. Морозов А. Д. Введение в теорию фракталов. -Москва-Ижевск: Институт компьютерных исследований, 2002. - 160 с.
4. Божокин С.В., Паршин Д.А. Фракталы и муль-тифракталы. - Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001, 128с.
5. Балханов В.К. Основы фрактальной геометрии и фрактального исчисления/ от. ред. Башкуев Ю.Б. - Улан-Удэ: Изд-во Бурятского госуниверситета, 2013. - 224 с..
6. Томас Х. Кормен, Чарльз И. Лейзерон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 3-е изд.: Пер. с анг. М.: ООО «И. Д. Вильямс», 2013. 1328 с.