Необычные функции
Построение реалистических изображений методами фрактальной геометрии
Фракталы с большой точностью могут описывать многие физические явления и природные образования: горы, облака, деревья, ландшафты... Впервые фрактальную природу нашего мира подметил Бенуа Мандельброт. Слово «фрактал» происходит от латинского 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.