|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритмы построения фракталовКурсовая работа по дисциплине «Компьютерная графика»
Аннотация В рамках данной работы были рассмотрены виды фрактальных изображений и методы их ручного и программного построения. Работа содержит описание фрактальных фигур, иллюстрации с примерами построенных фракталов, а также подробное описание способов их построения. В приложении к работе приведен фрагмент исходного кода программы, реализующий описанные в работе алгоритмы.
Оглавление Аннотация. 2 1 Постановка задачи. 4 2 Введение. 5 3 Алгоритмы построения фракталов. 6 3.1 Кривая Коха. 6 Построение: 6 Свойства: 6 3.2 Кривая дракона. 7 Построение. 7 3.3 Множество Кантора. 8 Построение. 8 Свойства. 8 3.4 Ковер Серпинского. 9 Построение. 9 Свойства. 9 3.5 Дерево Пифагора. 10 Построение. 10 Свойства. 10 3.6 Круговой фрактал. 12 Построение. 12 4 Описание программного продукта. 13 4.1 Программно-аппаратные требования. 13 4.2 Язык или среда программирования. 13 4.3 Входные и выходные данные. 13 4.4 Структура программы.. 13 4.5 Описание структурных элементов программы.. 14 4.5.1 Основная форма. 14 4.5.2 Дочерняя форма. 14 4.6 Инструкция пользователю.. 15 4.7 Описание интерфейса. 16 5 Заключение. 20 6 Список литературы.. 21 7 Приложение. 22
Постановка задачи Создать программу (редактор), позволяющую синтезировать изображения, построенные на фракталах. Предусмотреть использование различных методов генерации фрактальных изображений. Входные данные:
1. Координаты начальных точек фрактала на 0-й итерации (разные для каждого фрактала) 2. Тип фрактала 3. Глубина фрактала
Выходные данные: 1. Изображение с фракталом по заданным параметрам 2. Файл.bmp и изображением фрактала (опционально)
Введение Фракталом (лат." fractus " – дроблёный, сломанный, разбитый) называют сложную геометрическую фигуру, обладающую свойством самоподобия, т.е. составленной из нескольких частей, каждая из которых подобна целой фигуре. В более широком смысле под фракталами понимают множества точек в евклидовом пространстве, имеющие промежуточную (дробную) метрическую размерность (размерность Хаусдорфа). Размерность Хаусдорфа – естественный способ определить размерность множества в метрическом пространстве. Размерность Хаусдорфа согласуется с нашими обычными представлениями о размерности в тех случаях, когда эти обычные представления есть. Например, в трёхмерном евклидовом пространстве хаусдорфова размерность конечного множества равна нулю, размерность гладкой кривой – единице, размерность гладкой поверхности – двум и размерность множества ненулевого объёма – трём.[1]
Фракталы бывают нескольких типов: • Геометрические фракталы – самый наглядный класс фракталов. В двухмерном пространстве их получают с помощью некоторой ломаной (или поверхности в трехмерном пространстве), называемой генератором. За один шаг алгоритма каждый из отрезков, составляющих ломаную, заменяется на ломаную-генератор, в соответствующем масштабе. В результате бесконечного повторения этой процедуры, получается геометрический фрактал. • Алгебраические фракталы – это самая крупная группа фракталов. Получают их с помощью нелинейных процессов в n-мерных пространствах. Наиболее изучены двухмерные процессы. Интерпретируя нелинейный итерационный процесс как дискретную динамическую систему, можно пользоваться терминологией теории этих систем: фазовый портрет, установившийся процесс, аттрактор и т.д. Известно, что нелинейные динамические системы обладают несколькими устойчивыми состояниями. То состояние, в котором оказалась динамическая система после некоторого числа итераций, зависит от ее начального состояния. Поэтому каждое устойчивое состояние (или как говорят - аттрактор) обладает некоторой областью начальных состояний, из которых система обязательно попадет в рассматриваемые конечные состояния. Таким образом, фазовое пространство системы разбивается на области притяжения аттракторов. Если фазовым является двухмерное пространство, то, окрашивая области притяжения различными цветами, можно получить цветовой фазовый портрет этой системы (итерационного процесса). Меняя алгоритм выбора цвета, можно получить сложные фрактальные картины с причудливыми многоцветными узорами. Неожиданностью для математиков стала возможность с помощью примитивных алгоритмов порождать очень сложные нетривиальные структуры. • Стохастические фракталы являются ещё одним известным классом фракталов, которые получаются в том случае, если в итерационном процессе случайным образом менять какие-либо его параметры. При этом получаются объекты очень похожие на природные - несимметричные деревья, изрезанные береговые линии и т.д. Двумерные стохастические фракталы используются при моделировании рельефа местности и поверхности моря.[2] Кроме этих существуют так же: • Рукотворные фракталы • Природные фракталы • Детерминированные фракталы • Недетерминированные фракталы
В рамках данного курсового проекта будет рассмотрено несколько видов геометрических фракталов, а именно: Кривая Коха, Ломаная (кривая) дракона, Множество Кантора, Ковер Серпинского, Дерево Пифагора, Круговой фрактал. Алгоритмы построения фракталов
Кривая Коха
Кривая Коха – фрактальная кривая, описанная в 1904 году шведским математиком Хельге фон Кохом. Построение: Кривая Коха является типичным геометрическим фракталом. Процесс её построения выглядит следующим образом: берём единичный отрезок, разделяем на три равные части и заменяем средний интервал равносторонним треугольником без этого сегмента. В результате образуется ломаная, состоящая из четырех звеньев длины 1/3. На следующем шаге повторяем операцию для каждого из четырёх получившихся звеньев и т. д. Предельная кривая и есть кривая Коха.
Рисунок 1. Кривая Коха. Свойства: • Кривая Коха не имеет самопересечений. • Кривая Коха имеет промежуточную (то есть не целую) хаусдорфову размерность, которая равна , поскольку она состоит из четырёх равных частей, каждая из которых подобна всей кривой с коэффициентом подобия 1/3.
Кривая дракона
Кривая дракона – общее название для некоторых фрактальных кривых, которые могут быть аппроксимированы1 рекурсивными методами. Дракон Хартера, рассмотренный в работе, также известный как дракон Хартера – Хейтуэя, был впервые исследован физиками NASA – John Heighway, Bruce Banks, и William Harter. Он был описан в 1967 году Мартином Гарднером (Martin Gardner) в колонке «Математические игры» журнала «Scientific American». Многие свойства фрактала были описаны Chandler Davis и Дональдом Кнутом. Построение Берём отрезок, сгибаем его пополам. Затем многократно повторяем итерацию. Если после этого снова разогнуть получившуюся (сложенную) линию так, чтобы все углы были равны 90°, мы получим драконову ломаную.
Рисунок 2. Дракон Хартера–Хейтуэя на 20-й итерации
1Аппроксимация – научный метод, состоящий в замене одних объектов другими, в том или ином смысле близкими к исходным, но более простыми. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |