Визуализация рекурсивных алгоритмов, построение фракталов

Понятие фрактала и фрактальной геометрии, история создания. Роль фракталов в машинной графике, основные свойства, группы (геометрические, алгебраические, тохастические и системы интерируемых функций). Алгоритм построения треугольника Серпинского.

Рубрика Программирование, компьютеры и кибернетика
Вид краткое изложение
Язык русский
Дата добавления 08.02.2011
Размер файла 18,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

6

Федеральное агентство по образованию

ГОУ ВПО «Уральский государственный технический университет - УПИ

им. Первого Президента России Б. Н. Ельцина»

Факультет информационно-математических технологий и экономического моделирования

Кафедра интеллектуальных информационных технологий

Пояснительная записка

к курсовому проекту

по дисциплине Алгоритмы и анализ сложности

на тему: Визуализация рекурсивных алгоритмов, построение фракталов

Руководитель: Макрушин А.А

Выполнил: студент группы ИМ-37041

Михеева Я. С.

Екатеринбург 2010 Постановка задачи

В программировании рекурсия означает, что подпрограмма обращается сама к себе непосредственно или через цепочку вызовов других подпрограмм.

Известными рекурсивными подпрограммами являются вычисление факториала, решение задачи о Ханойских башнях, быстрая сортировка К. Хоара, подпрограммы работы с динамическими структурами данных, подпрограммы построения фракталов и многие другие.

Задача - построить фрактал (салфетку Серпинского), с возможностью задания начальных условий прямо в окне программы (количество итераций).

Введение

Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта «The Fractal Geometry of Nature». В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Но только в наше время удалось объединить их работы в единую систему.

Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные.

Одним из основных свойств фракталов является самоподобие. В самом простом случае небольшая часть фрактала содержит информацию обо всем фрактале.

Определение фрактала, данное Мандельбротом, звучит так: "Фракталом называется структура, состоящая из частей, которые в каком-то смысле подобны целому".

Фракталы делятся на группы. Самые большие группы это: геометрические фракталы, алгебраические фракталы, системы итерируемых функций, стохастические фракталы.

Я буду рассматривать один из геометрических фракталов. Именно с геометрических фракталов и начиналась история. Этот тип фракталов получается путем простых геометрических построений. Обычно при построении этих фракталов поступают так: берется "затравка" - аксиома - набор отрезков, на основании которых будет строиться фрактал. Далее к этой "затравке" применяют набор правил, который преобразует ее в какую-либо геометрическую фигуру. Далее к каждой части этой фигуры применяют опять тот же набор правил. С каждым шагом фигура будет становиться все сложнее и сложнее, и если мы проведем (по крайней мере, в уме), бесконечное количество преобразований - получим геометрический фрактал.

Ход решения

фрактал треугольник серпинского

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

Рассмотрим алгоритм построения. Для его построения из центра треугольника мысленно вырежем кусок треугольной формы, который своими вершинами будет упираться в середины сторон исходного треугольника. Повторим эту же процедуру для трех образовавшихся треугольников (за исключением центрального) и так до бесконечности. Если мы теперь возьмем любой из образовавшихся треугольников и увеличим его - получим точную копию целого. В данном случае мы имеем дело с полным самоподобием. Другими словами рисуется равносторонний треугольник. Каждая сторона делится пополам и соединяется линиями. Центральный треугольник отбрасываем. А из получившихся трех маленьких треугольников снова находим середины. И так далее.

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

Вывод

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

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

Роль фракталов в машинной графике сегодня достаточно велика. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные.

А построение треугольника Серпинского оказалось не такой сложной программой.

Список используемой литературы

1. Бондаренко В.А.,Дольников В.Л. Фрактальное сжатие изображений по Барнсли-Слоану.

2. Витолин Д. Применение фракталов в машинной графике.

3. Федер Е. Фракталы. Пер. с англ.-М.: Мир,1991.-254с.

Размещено на Allbest.ru


Подобные документы

  • Понятие фрактала и фрактальной геометрии. Роль фракталов в машинной графике, самоподобие как основное свойство. Области применения фракталов. Учение о сложных нелинейных динамических системах (теория хаоса). Интеграция детерминированных фракталов и хаос.

    курсовая работа [1,0 M], добавлен 20.08.2009

  • Сведения о фракталах, способы их построения. Неизменность геометрических особенностей фрактала при изменении масштаба. Алгоритм построения фрактала и его реализация в программе. Длина береговой линии и понятие фрактала. Салфетка и ковер Серпинского.

    курсовая работа [579,4 K], добавлен 12.01.2012

  • Сущность, основные свойства и классификация фракталов. Построение триадной кривой Коха и "дракона" Хартера-Хейтуэя, треугольник Серпинского и множество Жюлиа. Сущность L-кодирования. Создание программы на языке BorlandPascal для построения фракталов.

    курсовая работа [1,2 M], добавлен 13.04.2015

  • Определение и классификация фракталов. Геометрические, стохастические, алгебраические их виды. Множество Мандельброта, множество Жулиа. Другие способы получения алгебраических фракталов. Метод побитовых операций. Реализация алгебраических фракталов.

    лекция [1,2 M], добавлен 29.12.2011

  • Классификация основных фракталов: алгебраические, геометрические и стохастические. Рассмотрение нескольких распространённых видов фракталов: решетка и треугольник Серпинского, крива Коха, фрактал и множество Мандельброта, кривая Дракона и модель Джулии.

    курсовая работа [735,1 K], добавлен 11.02.2015

  • Изучение основных алгоритмов генерации различных видов фракталов. Выбор языка и среды программирования. Характеристика структурных элементов растрового графического редактора фракталов. Описание интерфейса приложения, порядок редактирования изображений.

    курсовая работа [1,2 M], добавлен 04.04.2014

  • Группы и назначение алгоритмов машинной графики верхнего и нижнего уровня. Учет свойств поверхности тела. Уравнения линий, эллипсов. Построение окружностей аппроксимацией отрезками. Отсечение нелицевых граней. Принципы построения полутоновых изображений.

    презентация [10,4 K], добавлен 14.08.2013

  • Понятие фрактала, принципы создания изображения. Разработка алгоритма и режимов генерации ландшафта. Описание программы FracLandscapes.exe. в среде разработки Delphi 10. Примеры построения ландшафта с использованием различных режимов и количества изгибов.

    курсовая работа [688,9 K], добавлен 04.05.2014

  • Рассмотрение алгоритма, основанного на использовании рекурсивной функции. Пример построения простого самоподобного фрактала - ковра Серпинского, снежинки Коха, кривых Пеано и Гильберта. Понятие L-система и терл-графика. Составление программы "Koch.m".

    курсовая работа [3,6 M], добавлен 14.12.2012

  • Обзор рекурсивных алгоритмов с позиции теории алгоритмов, теории сложности, с точки зрения практического программирования. Имитация работы цикла с помощью рекурсии. Способы изображения древовидных структур. Синтаксический анализ арифметических выражений.

    курсовая работа [432,2 K], добавлен 16.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.