Новый взгляд на мир [Фрактальная геометрия] (Мир математики. т.10.) - страница 38

стр.



Папоротник Барнсли и его различные аффинные преобразования.


Используя эти преобразования, можно построить множество различных фракталов, которые называются линейными фракталами или системами итерируемых функций (от английского IFS — Iterated Function Systems). Эти системы получаются путем применения ряда преобразований к некоему множеству. Согласно формулировке, введенной Барнсли в книге «Фракталы повсюду», система итерируемых функций — это система функций, задающих определенное преобразование, которое затем выполняется на протяжении множества итераций. Результатом применения этих преобразований является так называемый аттрактор. Другими словами, аттрактор системы итерируемых функций — это форма, к которой стремится фрактал, когда указанные преобразования повторяются достаточно большое число раз. Может показаться удивительным, но аттрактор не зависит от изначально выбранной исходной фигуры, на которой строится фрактал. Все фракталы, о которых мы рассказали в этой книге, можно построить, используя это множество преобразований.

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

В случае с отрезком будем для простоты считать его длину равной единице. Сначала уменьшим отрезок в 1/√2 раз и повернем его на 45° против часовой стрелки. Поместим левый конец отрезка в точку с координатами (0, 0). Затем снова уменьшим исходный отрезок в 1/√2 раз и повернем его на 135° снова против часовой стрелки, поместив правый конец полученного отрезка в точку с координатами (1,1).

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



Кривая дракона, построенная на основе отрезка.

>(Источник: Мария Изабель Бинимелис.)


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



Кривая дракона, построенная на основе изображения далматинца.

>(Источник: Мария Изабель Бинимелис.)


Коллаж для воссоздания любого изображения

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

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

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