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

Практические упражнения

9.8.1. Контроль за глубиной рекурсии Альтернативный метод прекращения рекурсивных вызовов в подпрограмме tract О заключается в передаче в нее параметра depth, задающего максимальную глубину рекурсии. Покажите, как изменить fractO, чтобы останавливать рекурсию по достижении определенной глубины.

9.8.2. Фрактализация вплоть до разрешающей способности дисплея Требуется фрактализовать прямые и отобразить их на дисплее размером 512 на 512 пикселов. Если вы хотите фрактализовать эти прямые так, чтобы как горизонтальные, так и вертикальные прямые фрак-тализовались до предела разрешающей способности дисплея, то какую максимальную глубину рекурсии вы будете использовать?

9.8.2. Контроль за спектральной плотностью фрактальной кривой Пайтген [Peitgen, 88] показал, что фрактальные кривые, созданные с помощью алгоритма из листинга 9.9, имеют следующую «спектральную плотность» («power spectral density*):

S(f) - 1/Д (9.22)

где Р - показатель степени «шумового процесса» - может устанавливаться пользователем для контроля за «зазубренностью» («jaggedness») фрактального шума. При Р - 2 данный процесс носит название броуновского движения (Brownian motion), а при Р = 1 процесс называется «1//шумом»1. Этот 1//шум является самоподобным в статистическом смысле и был признан хорошей моделью для многих физических процессов, таких как облака, последовательности тонов в музыке самых разных культур, а также рост некоторых кристаллов. Пайтген и его соавторы также показали, что дробная (фрактальная) размерность таких процессов равна: Д = -^ЬЁ. (9.23) 2

В подпрограмме, приведенной в листинге 9.9, масштабный множитель factor, посредством которого масштабируется среднеквадратическое отклонение на каждом уровне, зависит от показателя степени Р фрактальной кривой, который определяет степень зазубренности этой кривой. Коэффициент Р изменяется от 1 до 3: значения больше 2 приводят к гладким («устойчивым») кривым, а значения меньше 2 приводят к более зазубренным, «неустойчивым» кривым. Значение множителя factor определяется по следующей формуле [Peitgen, 156]:


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