У вас вопросы?
У нас ответы:) SamZan.net

модуль числа Z не превышает 2

Работа добавлена на сайт samzan.net: 2016-06-20

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 27.4.2025

Данная программа предназначена для  генерации  так  называемого

множества  Мандельбротта.  Это  множество,  названное  в  честь   своего

открывателя, находится на  комплексной  плоскости  и  рассчитывается  по

формуле:

         Z(i+1) = Z(i)^2 + C,

где C -  комплексная  константа,  Z  -  комплексная  переменная,  причем

Z(1) = 0. Считается, что некая точка C = x + yi  (i  -  мнимая  единица:

i^2 = -1) на комплексной плоскости принадлежит множеству  Мандельбротта,

если при достаточно большом числе итераций модуль числа Z  не  превышает

2.

    Множество Мандельбротта  является  фрактальным  и  по  недоказанной

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

не пересекая границы множества.

    Практический интерес же представляет не само множество, а граничные

с ним области. Оказалось, что  если  присваивать  некоей  точке  цвет  в

соответствии с числом итераций, требующихся для достижения ей модуля  2,

то получаются весьма  замысловатые  и  очень  красивые  узоры.  Особенно

интересно  наблюдать  за  какой  нибудь  областью  множества   при   все

увеличивающемся разрешении.

    Для отрисовки множества Мандельбротта и приграничных с ним областей

в программе используются следующие алгоритм и формулы:

    пусть C = a + bi, Z = x + yi, тогда:

    Z^2 = ( x + yi )^2 = x^2 + 2xyi - y^2

    Модуль числа Z: |Z| = Sqrt( x^2 + y^2 )

const

 MaxIter = 1000;

var

 I: integer;

 x, y, temp: real;

 a, b: real;

...........................

 I := 0;

 x := 0;

 y := 0;

 repeat

   temp := Sqr(x) - Sqr(y) + a;

   y := 2 * x * y + b;

   x := temp;

   Inc( I )

 until ( 4.0 <= Sqr(x) + Sqr(y)) or ( I >= MaxIter );

 PutPixel( ??, ??, I div ( MaxIter div 256 ))        { отрисовать точку }

...........................

    Для начала рекомендуется  использовать  предел  числа  итераций  не

более  1000.  Большее  число  итераций  приводит  к   большему   времени

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

    Можно также пробовать задавать количество цветов большее  чем  256,

например 32 тыс. или даже 16 млн. Но очень хорошие результаты получаются

и при 256 цветах.

    Для  того  чтобы  не  использовать   палитру   VGA   по   умолчанию

программа перенастраивает ее на свои цвета.




1. Раствор состоит из растворенного вещества и растворителя т
2. Инфраструктура кредитования в России возможности повышения эффективности кредитного процесса
3. Тема 1. Основные понятия и методы теории информатики и кодирования 1.html
4. В течение более чем двухтысячелетнего периода идет не только развитие представлений о душе
5. темам курса Гражданское право
6. История США в 19451991 годах
7. СУЩНОСТЬ МАРКЕТИНГА И ЕГО РОЛЬ В ЭКОНОМИКЕ 1
8. Проблема психологии памяти изложены результаты исследований проводимых с позиции психологической теор
9. 1984 авіаконструктор Народився в селі Троїці зараз Московської області
10. I. Найістотніші обмеження на мультиобробку в реальному масштабі часу накладає структура переривання PCI