Фракталы
Понятие фрактала и фрактальной геометрии. Роль фракталов в машинной графике, самоподобие как основное свойство. Области применения фракталов. Учение о сложных нелинейных динамических системах (теория хаоса). Интеграция детерминированных фракталов и хаос.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.08.2009 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
27
Министерство образования и науки Республики Казахстан
Карагандинский Государственный Технический Университет
Кафедра ____САПР______
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
По дисциплине: "Прикладная теория систем"
Тема: "Фракталы"
Руководитель
Студент
2009
Содержание
- Введение
- 2. Теоретическая часть
- 2.1 Понятие "фрактал"
- 2.2 Применение фракталов
- 2.3 Теория хаоса
- 2.3.1 Введение в теорию хаоса
- 2.3.2 Теория хаоса о беспорядке
- 2.3.3 Применение теории хаоса в реальном мире
- 2.3.4 Броуновское движение и его применение
- 2.4 Интеграция детерминированных фракталов и хаос
- 2.5 Виды фракталов
- 2.6 Дерево Фейгенбаума и Множество Мандельброта
- 3. Постановка задачи
- Заключение
- Введение
- Разветвления трубочек трахей, листья на деревьях, вены в руке, река, бурлящая и изгибающаяся, рынок ценных бумаг - это все фракталы. От представителей древних цивилизаций до Майкла Джексона, ученые, математики и артисты, как и все остальные обитатели этой планеты, были зачарованы фракталами и применяли из в своей работе.
- Программисты и специалисты в области компьютерной техники так же без ума от фракталов, так как фракталы бесконечной сложности и красоты могут быть сгенерированы простыми формулами на простых домашних компьютерах. Открытие фракталов было открытием новой эстетики искусства, науки и математики, а так же революцией в человеческом восприятии мира.
2. Теоретическая часть
2.1 Понятие "фрактал"
Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта `The Fractal Geometry of Nature. В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Но только в наше время удалось объединить их работы в единую систему.
Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные.
Одним из основных свойств фракталов является самоподобие. В самом простом случае небольшая часть фрактала содержит информацию о всем фрактале.
Фракталы находят все большее и большее применение в науке. Основная причина этого заключается в том, что они описывают реальный мир иногда даже лучше, чем традиционная физика или математика. Вот несколько примеров:
2.2 Применение фракталов
Компьютерные системы.
Наиболее полезным использованием фракталов в компьютерной науке является фрактальное сжатие данных. В основе этого вида сжатия лежит тот факт, что реальный мир хорошо описывается фрактальной геометрией. При этом, картинки сжимаются гораздо лучше, чем это делается обычными методами (такими как jpeg или gif). Другое преимущество фрактального сжатия в том, что при увеличении картинки, не наблюдается эффекта пикселизации (увеличения размеров точек до размеров, искажающих изображение). При фрактальном же сжатии, после увеличения, картинка часто выглядит даже лучше, чем до него.
Механика жидкостей.
Изучение турбулентности в потоках очень хорошо подстраивается под фракталы. Турбулентные потоки хаотичны и поэтому их сложно точно смоделировать. И здесь помогает переход к из фрактальному представлению, что сильно облегчает работу инженерам и физикам, позволяя им лучше понять динамику сложных
Изучение турбулентности в потоках очень хорошо подстраивается под фракталы. Турбулентные потоки хаотичны и поэтому их сложно точно смоделировать. И здесь помогает переход к из фрактальному представлению, что сильно облегчает работу инженерам и физикам, позволяя им лучше понять динамику сложных потоков.
При помощи фракталов также можно смоделировать языки пламени.
Пористые материалы хорошо представляются в фрактальной форме в связи с тем, что они имеют очень сложную геометрию. Это используется в нефтяной науке.
Телекоммуникации.
Для передачи данных на расстояния используются антенны, имеющие фрактальные формы, что сильно уменьшает их размеры и вес.
Физика поверхностей.
Фракталы используются для описания кривизны поверхностей. Неровная поверхность характеризуется комбинацией из двух разных фракталов.
Медицина.
1. Биосенсорные взаимодействия
2. Биения сердца
Биология.
Моделирование хаотических процессов, в частности при описании моделей популяций.
2.3 Теория хаоса
Теория хаоса - это учение о сложных нелинейных динамических системах. Ниже рассматривается истинное положение вещей, как ответ многим ошибочным представлениям об этой области науки.
2.3.1 Введение в теорию хаоса
Что такое теория хаоса?
Формально, теория хаоса определяется как учение о сложных нелинейных динамических системах. Под термином сложные это и понимается, а под термином нелинейные понимается рекурсия и алгоритмы из высшей математики, и, наконец, динамические - означает непостоянные и непериодические. Таким образом, теория хаоса - это учение о постоянно изменяющихся сложных системах, основанное не математических концепциях рекурсии, в форме ли рекурсивного процесса или набора дифференциальных уравнений, моделирующих физическую систему.
2.3.2 Теория хаоса о беспорядке
Наиболее часто встречающееся несоответствие состоит в том, что люди полагают, что теория хаоса - это теория о беспорядке. Ничто не могло бы быть так далеко от истины! Это не опровержение детерминизма и не утверждение о том, что упорядоченные системы невозможны; это не отрицание экспериментальных подтверждений и не заявление о бесполезности сложных систем. Хаос в теории хаоса и есть порядок - и даже не просто порядок, а сущность порядка.
Это правда, что теория хаоса утверждает, что небольшие изменения могут породить огромные последствия. Но одной из центральных концепций в теории является невозможность точного предсказания состояния системы. В общем, задача моделирования общего поведения системы вполне выполнима, даже проста. Таким образом, теория хаоса сосредотачивает усилия не на беспорядке системы - наследственной непредсказуемости системы - а на унаследованном ей порядке - общем в поведении похожих систем.
Таким образом, было бы неправильным сказать, что теория хаоса о беспорядке. Чтобы пояснить это на примере, возьмем аттрактор Лоренца. Он основан на трех дифференциальных уравнениях, трех константах и трех начальных условиях.
Рисунок 1. Аттрактор Лоренца.
Аттрактор представляет поведение газа в любое заданное время, и его состояние в определенный момент зависит от его состояния в моменты времени, предшествовавшие данному. Если исходные данные изменить даже на очень маленькие величины, скажем, эти величины малы настолько, что соизмеримы с вкладом отдельных атомов в число Авогадро (что является очень маленьким числом по сравнению со значениями порядка 1024), проверка состояния аттрактора покажет абсолютно другие числа. Это происходит потому, что маленькие различия увеличиваются в результате рекурсии.
Однако, несмотря на это, график аттрактора будет выглядеть достаточно похоже. Обе системы будут иметь абсолютно разные значения в любой заданный момент времени, но график аттрактора останется тем же самым, т.к он выражает общее поведение системы.
Теория хаоса говорит, что сложные нелинейные системы являются наследственно непредсказуемыми, но, в то же время, теория хаоса утверждает, что способ выражения таких непредсказуемых систем оказывается верным не в точных равенствах, а в представлениях поведения системы - в графиках странных аттракторов или во фракталах. Таким образом, теория хаоса, о которой многие думают как о непредсказуемости, оказывается, в то же время, наукой о предсказуемости даже в наиболее нестабильных системах.
2.3.3 Применение теории хаоса в реальном мире
При появлении новых теорий, все хотят узнать, что же в них хорошего. Итак что хорошего в теории хаоса?
Первое и самое важное - теория хаоса - это теория. А значит, что большая ее часть используется больше как научная основа, нежели как непосредственно применимое знание. Теория хаоса является очень хорошим средством взглянуть на события, происходящие в мире отлично от более традиционного четко детерминистического взгляда, который доминировал в науке со времен Ньютона. Зрители, которые посмотрели Парк Юрского периода, без сомнения боятся, что теория хаоса может очень сильно повлиять на человеческое восприятие мира, и, в действительности, теория хаоса полезна как средство интерпретации научных данных по-новому. Вместо традиционных X-Y графиков, ученые теперь могут интерпретировать фазово-пространственные диаграммы которые - вместо того, чтобы описывать точное положение какой-либо переменной в определенный момент времени - представляют общее поведение системы. Вместо того, чтобы смотреть на точные равенства, основанные на статистических данных, теперь мы можем взглянуть на динамические системы с поведением похожим по своей природе на статические данные - т.е. системы с похожими аттракторами. Теория хаоса обеспечивает прочный каркас для развития научных знаний.
Однако, согласно вышесказанному не следует, что теория хаоса не имеет приложений в реальной жизни.
Техники теории хаоса использовались для моделирования биологических систем, которые, бесспорно, являются одними из наиболее хаотических систем из всех что можно себе представить. Системы динамических равенств использовались для моделирования всего - от роста популяций и эпидемий до аритмических сердцебиений.
В действительности, почти любая хаотическая система может быть смоделирована - рынок ценных бумаг порождает кривые, которые можно легко анализировать при помощи странных аттракторов в отличие от точных соотношений; процесс падения капель из протекающего водопроводного крана кажется случайным при анализе невооруженным ухом, но если его изобразить как странный аттрактор, открывается сверхъестественный порядок, которого нельзя было бы ожидать от традиционных средств.
Фракталы находятся везде, наиболее заметны в графических программах как например очень успешная серия продуктов Fractal Design Painter. Техники фрактального сжатия данных все еще разрабатываются, но обещают удивительные результаты как например коэффициента сжатия 600:
1. Индустрия специальных эффектов в кино, имела бы горазда менее реалистичные элементы ландшафта (облака, скалы и тени) без технологии фрактальной графики.
И, конечно, теория хаоса дает людям удивительно интересный способ того, как приобрести интерес к математике, одной из наиболее мало-популярной области познания на сегодняшний день.
2.3.4 Броуновское движение и его применение
Броуновское движение - это, например, случайное и хаотическое движение частичек пыли, взвешенных в воде. Этот тип движения, возможно, является аспектом фрактальной геометрии, имеющий с наибольшее практическое использование. Случайное Броуновское движение производит частотную диаграмму, которая может быть использована для предсказания вещей, включающих большие количества данных и статистики. Хорошим примером являются цены на шерсть, которые Мандельброт предсказал при помощи Броуновского движения.
Рисунок 2. Частотная диаграмма.
Частотные диаграммы, созданные при построении графика на основе Броуновских чисел так же можно преобразовать в музыку. Конечно этот тип фрактальной музыки совсем не музыкален и может действительно утомить слушателя. Занося на график случайно Броуновские числа, можно получить Пылевой Фрактал наподобие того, что приведен здесь в качестве примера.
Кроме применения Броуновского движения для получения фракталов из фракталов, оно может использоваться и для создания ландшафтов. Во многих фантастических фильмах, как например Star Trek техника Броуновского движения была использована для создания инопланетных ландшафтов таких, как холмы и топологические картины высокогорных плато. Эти техники очень эффективны, и их можно найти в книге Мандельброта Фрактальная геометрия природы. Мандельброт использовал Броуновские линии для создания фрактальных линий побережья и карт островов (которые на самом деле были просто в случайном порядке изображенные точки) с высоты птичьего полета.
Рисунок 3. Рельеф.
2.4 Интеграция детерминированных фракталов и хаос
Из рассмотренных примеров детерминистских фракталов можно увидеть, что они не проявляют никакого хаотического поведения и что они на самом деле очень даже предсказуемы. Как известно, теория хаоса использует фрактал для того, чтобы воссоздать или найти закономерности с целью предсказания поведения многих систем в природе, таких как, например, проблема миграции птиц.
Теперь давайте посмотрим, как это в действительности происходит. Используя фрактал, называемый Деревом Пифагора, не рассматриваемого здесь (который, кстати, не изобретен Пифагором и никак не связан с теоремой Пифагора) и Броуновского движения (которое хаотично), давайте попытаемся сделать имитацию реального дерева. Упорядочение листьев и веток на дереве довольно сложно и случайно и, вероятно не является чем-то достаточно простым, что может эмулировать короткая программа из 12 строк.
Для начала нужно сгенерировать Дерево Пифагора (Рисунок 4). Результат напоминает те старые детсадовские рисунки… Так что давайте сделаем ствол толще. На этой стадии Броуновское движение не используется. Вместо этого, каждый отрезок линии теперь стал линией симметрии прямоугольника, который становится стволом, и веток снаружи.
Рисунок 4. Дерево Пифагора
Но результат все еще выглядит слишком формальным и упорядоченным. Дерево еще не смотрится как живое. Попробуем применить некоторые из тех знаний в области детерминированных фракталов, которые мы только что приобрели.
Рисунок 5.
Теперь можно использовать Броуновское движение для создания некоторой случайной беспорядочности, которая изменяет числа, округляя их до двух разрядов. В оригинале были использованы 39 разрядные десятичные числа. Результат (слева) не выглядит как дерево. Вместо этого, он выглядит как хитроумный рыболовный крючок!
Рисунок 6.
Может быть округление до 2 разрядов было слишком уж много? Снова применяем Броуновское движение, округленное на этот раз до 7 разрядов. Результат по-прежнему выглядит как рыболовный крючок, но на этот раз в форме логарифмической спирали!
Рисунок 7.
Так как левая сторона (содержащая все нечетные числа) не производит эффект крючка, случайные беспорядочности, произведенные Броуновским движением применяются дважды ко всем числам с левой стороны и только один раз к числам справа. Может быть этого будет достаточно чтобы исключить или уменьшить эффект логарифмической спирали. Итак, числа округляются до 24 разрядов. На этот раз, результат - приятно выглядящая компьютеризированная хаотическая эмуляция реального дерева.
Рисунок 8.
2.5 Виды фракталов
Решётка Серпинского.
Это один из фракталов, с которыми экспериментировал Мандельброт, когда разрабатывал концепции фрактальных размерностей и итераций. Треугольники, сформированные соединением средних точек большего треугольника вырезаны из главного треугольника, образовывая треугольник, с большим количеством дырочек. В этом случае инициатор - большой треугольник а шаблон - операция вырезания треугольников, подобных большему. Так же можно получить и трехмерную версию треугольника, используя обыкновенный тетраэдр и вырезая маленькие тетраэдры. Размерность такого фрактала ln3/ln2 = 1.584962501.
Чтобы получить ковер Серпинского, возьмем квадрат, разделим его на девять квадратов, а средний вырежем. То же сделаем и с остальными, меньшими квадратами. В конце концов образуется плоская фрактальная сетка, не имеющая площади, но с бесконечными связями. В своей пространственной форме, губка Серпинского преобразуется в систему сквозных форм, в которой каждый сквозной элемент постоянно заменяется себе подобным. Эта структура очень похожа на разрез костной ткани. Когда-нибудь такие повторяющиеся структуры станут элементом строительных конструкций. Их статика и динамика, считает Мандельброт, заслуживает пристального изучения.
Рисунок 9. Решётка Серпинского.
Рисунок 10. Губка Серпинского.
Треугольник Серпинского.
Не перепутайте этот фрактал с решеткой Серпинского. Это два абсолютно разных объекта. В этом фрактале, инициатор и генератор одинаковы. При каждой итерации, добавляется уменьшенная копия инициатора к каждому углу генератора и так далее. Если при создании этого фрактала произвести бесконечное число итераций, он бы занял всю плоскость, не оставив ни одной дырочки. Поэтому его фрактальная размерность ln9/ln3 = 2.0.
Рисунок 11. Треугольник Серпинского.
Кривая Коха.
Кривая Коха один из самых типичных детерминированных фракталов. Она была изобретена в девятнадцатом веке немецким математиком по имени Хельге фон Кох, который, изучая работы Георга Контора и Карла Вейерштрассе, натолкнулся на описания некоторых странных кривых с необычным поведением. Инициатор - прямая линия. Генератор - равносторонний треугольник, стороны которого равны трети длины большего отрезка. Эти треугольники добавляются к середине каждого сегмента снова и снова. В своем исследовании, Мандельброт много экспериментировал с кривыми Коха, и получил фигуры такие как Острова Коха, Кресты Коха, Снежинки Коха и даже трехмерные представления кривой Коха, используя тетраэдр и прибавляя меньшие по размерам тетраэдры к каждой его грани. Кривая Коха имеет размерность ln4/ln3 = 1.261859507.
Рисунок 12. Кривая Коха.
Фрактал Мандельброта.
Это НЕ множество Мандельброта, которое можно достаточно часто видеть. Множество Мандельброта основано на нелинейных уравнениях и является комплексным фракталом. Это тоже вариант кривой Коха несмотря на то, что этот объект не похож на нее. Инициатор и генератор так же отличны от использованных для создания фракталов, основанных на принципе кривой Коха, но идея остается той же. Вместо того, чтобы присоединять равносторонние треугольники к отрезку кривой, квадраты присоединяются к квадрату. Благодаря тому, что этот фрактал занимает точно половину отведенного пространства при каждой итерации, он имеет простую фрактальную размерность 3/2 = 1.5
Рисунок 13. Фрактал Мандельброта.
Кривая Дракона.
Изобретенная итальянским математиком Джузеппе Пеано, Кривая Дракона или Взмах Дракона, как он назвал его, очень похож на колбасу Минковского. Использован более простой инициатор, а генератор тот же самый. Мандельброт назвал этот фрактал Река Двойного Дракона. Его фрактальная размерность приблизительно равна 1.5236.
Рисунок 14. Дракон Джузеппе Пеано.
Множество Мандельброта.
Множества Мандельброта и Жюлиа, вероятно, два наиболее распространенных среди сложных фракталов. Их можно найти во многих научных журналах, обложках книг, открытках, и в компьютерных хранителях экрана. Множество Мандельброта, которое было построено Бенуа Мандельбротом, наверное первая ассоциация, возникающая у людей, когда они слышат слово фрактал. Этот фрактал, напоминающий чесальную машину с прикрепленными к ней пылающими древовидными и круглыми областями, генерируется простой формулой
Zn+1=Zna+C, где Z и C - комплексные числа и а - положительное число.
Множество Мандельброта, которое чаще всего можно увидеть - это множество Мандельброта 2й степени, то есть а=2. Тот факт, что множество Мандельброта не только Zn+1=ZnІ+C, а фрактал, показатель в формуле которого может быть любым положительным числом ввел в заблуждение многих. На этой странице вы видите пример множества Мандельброта для различных значений показателя а.
Также популярен процесс Z=Z*tg (Z+C). Благодаря включению функции тангенса, получается множество Мандельброта, окруженное областью, напоминающей яблоко. При использовании функции косинуса, получаются эффекты воздушных пузырьков. Короче говоря, существует бесконечное количество способов настройки множества Мандельброта для получения различных красивых картинок.
Рисунок 15. Множество Мандельброта.
Рисунок 16. Множество Мандельброта при а=3,5.
Множество Жюлиа.
Удивительно, но множества Жюлиа образуются по той же самой формуле, что и множество Мандельброта. Множество Жюлиа было изобретено французским математиком Гастоном Жюлиа, по имени которого и было названо множество. Первый вопрос, возникающий после визуального знакомства с множествами Мандельброта и Жюлиа это “если оба фрактала сгенерированы по одной формуле, почему они такие разные? ” Сначала посмотрите на картинки множества Жюлиа. Достаточно странно, но существуют разные типы множеств Жюлиа. При рисовании фрактала с использованием различных начальных точек (чтобы начать процесс итераций), генерируются различные изображения. Это применимо только ко множеству Жюлиа.
Хотя это нельзя увидеть на картинке, фрактал Мандельброта - это, на самом деле, множество фракталов Жюлиа, соединенных вместе. Каждая точка (или координата) множества Мандельброта соответствует фракталу Жюлиа. Множества Жюлиа можно сгенерировать используя эти точки в качестве начальных значений в уравнении Z=ZІ+C. Но это не значит, что если выбрать точку на фрактале Мандельброта и увеличить ее, можно получить фрактал Жюлиа. Эти две точки идентичны, но только в математическом смысле. Если взять эту точку и просчитать ее по данной формуле, можно получить фрактал Жюлиа, соответствующий определенной точке фрактала Мандельброта.
Рисунок 17. Множество Жюлиа.
Дерево Фейгенбаума.
Логистическое уравнение - это формула, над которой, в основном, работал Митчелл Фейгенбаум при создании своей теории о фракталах. Эта формула должна описывать динамику развития популяции:
f (x) = (1 - x) rx
Простейшая модель - это пропорциональное соотношение численности с прошлым годом. Допустим в прошлом году у нас было x животных. В этом году их должно быть rx животных. Но это не выполняется в реальных условиях. Лучшее соответствие с реальностью получится если добавить фактор, зависящий от того какой потенциал существует у популяции для дальнейшего развития, и пусть x - коэффициент полноты, который меняется от 0 до 1. Потом добавляется фактор 1 - x, так что территория почти полностью заполнена, популяция не возрастет выше верхнего предела.
Расширяя логистическое выражение, получаем:
f (x) = аx - ах2
Формула, использующаяся в программе LT Bifurcator для объяснения сущности фрактала Фейгенбаума - (1 + r) x - rx2 не сильно отличается от формулы, приведенной выше. В принципе, для изучения теории можно было использовать любую формулу, например самую простую из формул данного вида - xІ - r. Единственными различиями являются различия в координатах окон на картинке и несколько измененный внешний вид изображения.
Рисунок 18. Дерево Фейгенбаума.
2.6 Дерево Фейгенбаума и Множество Мандельброта
Если вы когда-либо видели формулу множетсва Мандельброта z=z2 + x, вы могли бы заметить схожесть между этой формулой и самой простой из формул для построения дерева Фейгенбаума x2 - r. И это действительно так. Сходство существует. Но фейгенбаумово дерево растет в другую сторону. Измените формулу Фейгенбаума на x2 + r и вы увидите сходство. Что касается множества Мандельброта, вам нужно смотреть вдоль горизонтальной оси, так как это единственная позиция в которой комплексная часть числа Мандельброта равна нулю. Вы увидите, что основное тело фигуры Мандельброта находится там, где функция в дереве Фейгенбаума принимает лишь одно значение. Когда происходит первое разделение линии (бифуркация) появляется новое тело на фигуре Мандельброта и т.д. Обратите также внимание на то, что когда в дереве открывается главное окно, на фигуре Мандельброта появляется дочернее тело.
Рисунок 19. Дерево Фейгенбаума и Множество Мандельброта.
3. Постановка задачи
Необходимо спроектировать и разработать программный продукт, при помощи которого возможно наглядно посмотреть изображения фрактальной графики. Программа должна позволять раскрыть сущность фрактала - многократное самоповторение (всего изображения или определённой его части). Интерфейс должен быть максимально понятным. Скорость работы должна быть такой, чтобы сбалансировать производительность и качество, т.е. при данной скорости прорисовывается достаточно наглядное изображение. Необходима так же возможность сохранения фрактального изображения. Программа должна быть интуитивно понятной и "не отталкивать при первом взгляде". Возможностями программы должны быть доступны прорисовки не менее десяти алгебраических и не менее двух геометрических фракталов.
Решение.
Решением данной задачи является программный продукт при помощи которого можно просмотреть по несколько образцов алгебраической и геометрической фрактальной графики. Программа должна иметь встроенное увеличение (многократное), пропорциональное истинному размеру изображения. Интерфейс необходим светлый, приятный, возможно в тонах Windows XP. Нам, например, подойдёт использование градиентной заливки самой формы. Учитывая то, что человек не любит долгие ожидания программа не использует большой размер холста, однако и при данном размере удаётся рассмотреть все достоинства фрактальной графики. Программа использует стандартные возможности сохранения графического изображения в формате *. bmp и не может загружать в себя графические изображения этого формата, т.к эта программа не для просмотра, а для генерации изображений. В программе использованы небесные цвета, она имеет дружественный интерфейс и проста в обращении. Каждая кнопка, параметр и другие органы управления подписаны так, что в справке программа не нуждается, однако она всё же дополнена справкой во избежание конфликтов со стандартами. Возможностями программы доступны прорисовки двадцати одного алгебраического и трёх геометрических фракталов.
Структура.
Программа состоит из двух форм (основной и формы с именами разработчиков и их логотипом). На главной форме могут располагаться два интерфейса:
Алгебраические фракталы
Геометрические фракталы.
Так же имеется окно справки.
Дальнейшая структура интерфейса будет описана в разделе "Руководство пользователя".
Программная структура представляет собой набор функций, каждая из которых является "формулой" прорисовки одного фрактала. И процедуры самой прорисовки.
27
Рисунок 20. Схема работы программы.
Данной схемой (Рисунок 20) представлен внутренний принцип работы программы. Использование одной процедуры прорисовки значительно уменьшает код и объём компонентов интерфейса. Однако представление каждой формулы множества отдельной функцией значительно уменьшает время прорисовки.
Руководство пользователя.
Для установки данного программного продукта необходимо вставить в дисковод диск с лицензионной версией программы. На экране появится мастер установки. Читая его комментарии, вы можете менять места расположения установленных файлов. Если вы согласны с адресами предложенными программой установки, то нажимайте "далее". Затем на рабочем столе вашего компьютера появится иконка с названием программы "Фрактальная графика". Чтобы открыть её, необходимо навести на неё указатель мыши и кликнуть на ней двойным щелчком.
Данная программа позволяет просмотреть изображения двадцати одного алгебраического и трёх геометрических фракталов. При запуске программы она автоматически предоставляет нам интерфейс алгебраических фракталов. Для переключения на геометрические Вам необходимо в строке меню нажать кнопку "Показать"->"Геометрические фракталы".
Прорисовка происходит на прямоугольной области на левой половине окна программы именуемой холстом.
В меню алгебраических фракталов имеются следующие органы управления и ввода параметров:
R - насыщенность красного цвета
G - насыщенность зелёного цвета
B - насыщенность синего цвета
Колличество иттераций - число повторений координат точки при выявлении её принадлежности определённой области (от этого зависит качество изображения)
Список возможных вариантов фракталов:
Прорисовать - кнопка прорисовки
Очистить - кнопка очистки
По умолчанию - исходные значения
Время прорисовки
При работе с геометрическими фракталами:
Серпинский - прорисовка треугольника Серпинского, справа параметр - число иттераций
Дракон Д. Пиано - прорисовка дракона Д. Пиано, справа параметр - число иттераций
Фейгенбаум - прорисовка дерева Фейгенбаума, внизу список параметров
Очистить - очистить.
Так же имеется возможность сохранения изображения в формате *. bmp. Для этого необходимо прорисовать фрактал (по желанию - увеличить), затем войти в меню - "Фаил"->"Сохранить", не указывая расширение, ввести имя фаила и нажать Enter.
При необходимости просмотра фрактальной структуры Вам необходимо навести указатель мыши на область холста, нажать на левую кнопку, а затем растянуть необходимую область движением вправо и отпустить кнопку мыши.
Рисунок 21. Интерфейс программы.
Влияние параметров.
При разработке данной программы учитывались не только требования заказчика, но так же были проведены не которые исследования. Были выявлены следующие закономерности и факты:
При увеличении числа итераций увеличивается качество изображения, но так же увеличивается и скорость прорисовки. Так же при увеличении фрактала с большим числом итераций мы можем видеть более наглядные изображения, и кратность возможного увеличения заметно возрастает.
Подбор цветовых коэффициентов очень сложная и кропотливая работа, требующая большого ресурса человеко-часов.
Время прорисовки так же зависит от выбранных функций. Так степенные функции прорисовываются гораздо быстрее, чем например степенные.
В ходе работы было создано немалое число фракталов, из которых были выбраны лучшие, путём визуального контроля. Формулы, по которым они прорисовываются, были выведены исключительно разработчиками и являются их частной собственностью.
Начальные значения переменных в функциях могут изменить вид фрактала так, что его оригинал визуально будет совсем не похож на клона. Такой принцип, например, применил Жюлиа.
Радиус окружности - эталон, на котором происходит генерация точек, - это важнейший параметр. Например, Фракталы, построенные на основе множества Мандельброта - Spider (i), отличаются только этим радиусом.
Начальные координаты прорисовки определяют полноту изображения на холсте. При их неправильной простановке фрактал может быть виден не полностью.
Многие параметры влияют на красоту фрактала. При его построении все параметры должны быть точно просчитаны и продуманы. Это залог качественного изображения.
Заключение
Фрактальная графика - это не просто множество самоповторяющихся изображений, это модель структуры и принципа любого сущего. Вся наша жизнь представлена фракталами. Не только визуальными, но ещё и структура этого изображения отражает нашу жизнь. Взять, к примеру, ДНК, это всего лишь основа, одна итерация, а при повторении… появляется человек! И таких примеров много. Нельзя не отметить широкое применение фракталов в компьютерных играх, где рельефы местности зачастую являются фрактальными изображениями на основе трёхмерных моделей комплексных множеств и броуновского движения. Фрактальная графика необходима везде, и развитие "фрактальных технологий" - это одна из немаловажных задач на сегодняшний день.
Подобные документы
Определение и классификация фракталов. Геометрические, стохастические, алгебраические их виды. Множество Мандельброта, множество Жулиа. Другие способы получения алгебраических фракталов. Метод побитовых операций. Реализация алгебраических фракталов.
лекция [1,2 M], добавлен 29.12.2011Сущность, основные свойства и классификация фракталов. Построение триадной кривой Коха и "дракона" Хартера-Хейтуэя, треугольник Серпинского и множество Жюлиа. Сущность L-кодирования. Создание программы на языке BorlandPascal для построения фракталов.
курсовая работа [1,2 M], добавлен 13.04.2015Изучение основных алгоритмов генерации различных видов фракталов. Выбор языка и среды программирования. Характеристика структурных элементов растрового графического редактора фракталов. Описание интерфейса приложения, порядок редактирования изображений.
курсовая работа [1,2 M], добавлен 04.04.2014Сведения о фракталах, способы их построения. Неизменность геометрических особенностей фрактала при изменении масштаба. Алгоритм построения фрактала и его реализация в программе. Длина береговой линии и понятие фрактала. Салфетка и ковер Серпинского.
курсовая работа [579,4 K], добавлен 12.01.2012Классификация основных фракталов: алгебраические, геометрические и стохастические. Рассмотрение нескольких распространённых видов фракталов: решетка и треугольник Серпинского, крива Коха, фрактал и множество Мандельброта, кривая Дракона и модель Джулии.
курсовая работа [735,1 K], добавлен 11.02.2015Редакторы для растровой графики. Программы для работы с векторной графикой. Возможности фракталов в художественной графике, при описании свойств сложных природных объектов (турбулентных потоков), финансовом анализе и в других прикладных дисциплинах.
лекция [785,4 K], добавлен 28.08.2013Понятие фрактала, способы его использования в компьютерной науке, в механике жидкостей, в телекоммуникациях, медицине, физике поверхностей, биологии. Множество Мандельброта и фрактальное дерево. Разработка кода программы в среде программирования Delрhi.
курсовая работа [1,0 M], добавлен 09.06.2013Понятие фрактала, принципы создания изображения. Разработка алгоритма и режимов генерации ландшафта. Описание программы FracLandscapes.exe. в среде разработки Delphi 10. Примеры построения ландшафта с использованием различных режимов и количества изгибов.
курсовая работа [688,9 K], добавлен 04.05.2014Основы программирования графики на языке Паскаль. Способы решения графических программ и рекомендации к их решениям. Связь между декартовой и полярной системами координат. Алгоритм переноса объекта. Построение фракталов, классической пыли Кантора.
курсовая работа [3,3 M], добавлен 24.04.2013Виды компьютерной графики: растровая, векторная, фрактальная и трёхмерная. Основные понятия компьютерной графики. Кодирование аудиоинформации, основные аудио форматы. Смешение сигналов и видео форматы. Разработка программы построения фракталов.
дипломная работа [1,2 M], добавлен 14.01.2015