русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Множество Мандельброта.


Дата добавления: 2013-12-23; просмотров: 1093; Нарушение авторских прав


Алгебраические фракталы

Свое название они получили за то, что их строят, на основе алгебраических формул иногда весьма простых. Методов получения алгебраических фракталов несколько. Один из методов представляет собой многократный (итерационный) расчет функции Zn+1=f(Zn), где Z - комплексное число, а f некая функция. Расчет данной функции продолжается до выполнения определенного условия. И когда это условие выполнится - на экран выводится точка. При этом значения функции для разных точек комплексной плоскости может иметь разное поведение:

1. С течением времени стремится к бесконечности.

2. Стремится к 0

3. Принимает несколько фиксированных значений и не выходит за их пределы.

4. Поведение хаотично, без каких либо тенденций.

Чтобы проиллюстрировать алгебраические фракталы обратимся к классике - множеству Мандельброта.

Для его построения нам необходимы комплексные числа. Комплексное число - это число, состоящее из двух частей - действительной и мнимой, и обозначается оно a+bi. Действительная часть a это обычное число в нашем представлении, а вот мнимая часть bi интересней. i - называют мнимой единицей. Почему мнимой? А потому, что если мы возведем i в квадрат, то получим -1.

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

Множество всех точек , для которых итерации остаются ограниченными при , называется множеством Мандельброта

Приняв, что и , раскладывая на действительную и мнимую часть, получаем:

Цвет обычно выбирают по числу итераций, но есть и другие способы.

program M2; uses Graph, Crt; type TComplex = record x : Real; y : Real; end; const iter = 50; max = 16; var z, t, c : TComplex; x, y, n : Integer; Cancel : Boolean; gd, gm : Integer; mx, my : Integer; begin Cancel := False; Randomize; gd := Detect; InitGraph(gd,gm,'e:\bp\bgi'); Mx := GetMaxX div 2; My := GetMaxY div 2; for y := -my to my do for x := -mx to mx do begin n := 0; c.x := x * 0.005; c.y := y * 0.005; z.x := 0; z.y := 0; while (sqr(z.x) + sqr(z.y) < max) and (n < iter) do begin t := z; z.x := sqr(t.x) - sqr(t.y) + c.x; z.y := 2 * t.x * t.y+ c.y; Inc(n); if KeyPressed then Cancel := true; end; if n < iter then begin PutPixel(mx + x,my + y,16 - (n mod 16)); end; if Cancel then exit; end; Readkey; CloseGraph;end.

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



  • действительная часть меньше определённого числа;
  • мнимая часть меньше определённого числа;
  • и мнимая, и действительная части меньше какого-либо числа.

Есть и другие способы.

Изменяя значение n в общей формуле, можно получать различные варианты изображения.



<== предыдущая лекция | следующая лекция ==>
Драконова ломаная | Фрактал Ньютона


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.