Необычные функции

Построение реалистических изображений методами фрактальной геометрии

Фракталы с большой точностью могут описывать многие физические явления и природные образования: горы, облака, деревья, ландшафты... Впервые фрактальную природу нашего мира подметил Бенуа Мандельброт. Слово «фрактал» происходит от латинского fractus, что означает «дробный», и frahgere — «ломать». Главной особенностью фракталов является их бесконечное самоподобие.

Фрактальные функции широко используются в качестве инструментов для реалистичного построения природных объектов, бесконечно сложных узоров и картин... В машинной графике метод построения фрактальных поверхностей первыми применили Карпентер, Фурнье и Фассел. Итак, фракталы — это функции, которые ведут себя не совсем обычно и могут не подчиняться основным законам поведения «обычных» функций.

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

Попробуем изобразить линию-фрактал, имеющую бесконечное число максимумов и минимумов на отрезке (0, 1). Такая линия показана на рис. 15.1, ей соответствует следующая функция:

f(x) = x * cos(/x), x <> 0
0, x = 0

Построить эту функцию можно так: разбиваем отрезок на 1/2, строим равносторонний треугольник; одну из сторон делим на 2 и от него строим следующий треугольник с меньшей стороной и так до бесконечности...

Если делить отрезок не на две, а на три части, то можно построить другую линию (см. рис. 15.2).

Такие функции обладают интересными и необычными свойствами. Например, фрактал, показанный на рис. 15.2, имеет такие свойства: число треугольников («крыш») бесконечно; на такой линии расположено бесконечное число точек, которые не защищены «крышей» — это точки 0, ..., 1/9, 2/9, ..., 1/3, 2/3, ..., 1.