float v - d/(float)Num:
glColor3f(v * v. v*. v. 0.2):
// red & green at level v-squared

// красный и зеленый на уровне v в квадрате

Присвоение цветов в зависимости от времени жизни орбиты

Рис. 9.42. Присвоение цветов в зависимости от времени жизни орбиты

Последнее, что нам нужно сделать, - это определить, как связать пиксел с определенным комплексным значением с. На рис. 9.43 предлагается простой подход"images/tmp8E4A-642.png" alt="Установка окна над множеством М и соответствие между точками и пикселами">

Рис. 9.43. Установка окна над множеством М и соответствие между точками и пикселами Какой же комплексной величине с = сх + суі соответствует центр (г,У)-го пиксела? После преобразований компонентов мы видим, что оно должно быть равно"images/tmp8E4A-643.png">

(9.17)

ч

где i - 0.....cols -1 и; - 0,rows -1. (Проверьте это!)

Выбранная область множества Мандельброта рисуется пиксел за пикселом. Для каждого пиксела соответствующее ему значение с передается в подпрограмму dwel 1 ( ) и находится подходящий цвет, связанный с временем жизни. Затем пиксел окрашивается в этот цвет. В листинге 9.8 приведен алгоритм в форме псевдокода.

Листинг 9.8. Псевдокод для рисования части множества Мандельброта

for(j - 0: j < rows:
for(i - 0: i < cols: i++)

find the corresponding c-value in Equation 9.17 II находим соответствующее значение с по уравнению 9.17

estimate the dwell of the orbit II оцениваем время жизни орбиты


⇐ Предыдущая| |Следующая ⇒