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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 4.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. реферат диссертации ~аза~станда~ы к~ші~он процестері ж~не оны~ зерттелуі 19261959 жылдар ~олжазба ы~ын
3. Белгорода Спортивный праздник к 23 февраля для детей старшего дошкольного возраста с родителями
4. Контрольная работа- Ключевые элементы организации, их стратегическая значимость
5. Статья- Тихвинская икона Божией Мате
6. 32. Работа 505
7. Уральская государственная медицинская академия Министерства здравоохранения и социального развития
8. На тему- Заемщики юридических лиц коммерческими банками Выполнил-ст
9. Реферат на тему- СТАТУТИ ЗБРОЙНИХ СИЛ УКРАЇНИ Життя і діяльність Збройних Сил України визначаються в
10. РЕФЕРАТ дисертації на здобуття наукового ступеня доктора філософських наук.1