Папоротник Барнсли — фрактал, названный в честь британского математика Майкла Барнсли , который впервые описал его в своей книге «Фракталы повсюду» . [1] Он сделал его похожим на чёрный селезёночный листопад, Asplenium adiantum-nigrum .
Папоротник является одним из основных примеров самоподобных множеств, т. е. это математически сгенерированный узор, который может быть воспроизведен при любом увеличении или уменьшении. Как и треугольник Серпинского , папоротник Барнсли показывает, как графически красивые структуры могут быть построены путем повторного использования математических формул с помощью компьютеров. Книга Барнсли 1988 года «Фракталы повсюду» основана на курсе, который он читал студентам и аспирантам в Школе математики Технологического института Джорджии , под названием «Фрактальная геометрия» . После публикации книги был разработан второй курс под названием «Теория фрактальной меры» . [1] Работа Барнсли стала источником вдохновения для графических художников, пытающихся имитировать природу с помощью математических моделей.
Код папоротника, разработанный Барнсли, является примером системы итерированных функций (IFS) для создания фрактала. Это следует из теоремы о коллаже . Он использовал фракталы для моделирования разнообразных явлений в науке и технике, но в особенности растительных структур.
IFS предоставляют модели для определенных растений, листьев и папоротников в силу самоподобия, которое часто встречается в ветвящихся структурах в природе. Но природа также демонстрирует случайность и изменчивость от одного уровня к другому; нет двух папоротников, которые были бы совершенно одинаковыми, а ветвящиеся листья становятся листьями в меньшем масштабе. Фракталы с V-переменными допускают такую случайность и изменчивость в разных масштабах, в то же время допуская непрерывную зависимость от параметров, что облегчает геометрическое моделирование. Эти факторы позволяют нам создавать гибридные биологические модели... ...мы предполагаем, что когда находится модель геометрического фрактала с V-переменными, которая хорошо соответствует геометрии данного растения, то существует определенная связь между этими кодовыми деревьями и информацией, хранящейся в генах растения.
—Майкл Барнсли и др. [2]
Папоротник Барнсли использует четыре аффинных преобразования . Формула для одного преобразования следующая:
Барнсли показывает код IFS для своего фрактала папоротника Black Spleenwort в виде матрицы значений, показанных в таблице. [3] В таблице столбцы « a » — « f » являются коэффициентами уравнения, а « p » представляет собой фактор вероятности.
Они соответствуют следующим преобразованиям:
Хотя папоротник Барнсли теоретически можно было бы нарисовать вручную с помощью ручки и миллиметровой бумаги, число необходимых итераций достигает десятков тысяч, что делает использование компьютера практически обязательным. Многие различные компьютерные модели папоротника Барнсли популярны среди современных математиков. Пока математика запрограммирована правильно с использованием матрицы констант Барнсли, будет получена та же форма папоротника.
Первая нарисованная точка находится в начале координат ( x 0 = 0, y 0 = 0 ), а затем новые точки итеративно вычисляются путем случайного применения одного из следующих четырех преобразований координат: [4] [5]
Это преобразование координат выбирается в 1% случаев и просто отображает любую точку в точку в первом сегменте линии у основания стебля. При итеративной генерации оно действует как сброс к основанию стебля. Важно, что оно не сбрасывается точно в (0,0), что позволяет ему заполнить базовый стебель, который транслируется и служит своего рода «ядром», из которого генерируются все остальные секции папоротника посредством преобразований f 2 , f 3 , f 4 .
Это преобразование кодирует самоподобие отношения всего папоротника с подструктурой, которая состоит из папоротника с удалением секции, включающей два нижних листа. В матричном представлении это можно увидеть как небольшое вращение по часовой стрелке, масштабированное, чтобы быть немного меньше и переведенное в положительном направлении y . В итеративной генерации это преобразование применяется с вероятностью 85% и интуитивно отвечает за генерацию основного стебля и последовательную вертикальную генерацию листьев по обе стороны стебля от их «исходных» листьев у основания.
Это преобразование кодирует самоподобие всего папоротника с нижним левым листом. В матричном представлении это выглядит как поворот против часовой стрелки почти на 90°, уменьшенное до размера примерно 30% с переносом в положительном направлении y . В итеративной генерации оно применяется с вероятностью 7% и интуитивно отвечает за генерацию нижнего левого листа.
Аналогично, это преобразование кодирует самоподобие всего папоротника с нижним правым листом. Из его детерминанта легко видеть, что оно включает отражение и может рассматриваться как подобное преобразование, как f 3, хотя и с отражением относительно оси y . В итеративной генерации оно применяется с вероятностью 7% и отвечает за генерацию нижнего правого листа.
Играя с коэффициентами, можно создавать мутантные разновидности папоротника. В своей статье о фракталах V-переменной Барнсли называет эту черту суперфракталом . [ 2]
Один экспериментатор придумал таблицу коэффициентов, чтобы создать другой, удивительно естественно выглядящий папоротник, однако, напоминающий Cyclosorus или папоротник Thelypteridaceae . Это: [6] [7]
нарисовать все пиксели на экране белыми x = 0.0 y = 0.0 t = 0.0 xn = 0.0 yn = 0.0 пока t < максимальное количество итераций : r = random () между 0 и 1 если r < 0.01 : xn = 0.0 yn = 0.16 * y иначе если r < 0.86 : xn = 0.85 * x + 0.04 * y yn = - 0.04 * x + 0.85 * y + 1.6 иначе если r < 0.93 : xn = 0.2 * x - 0.26 * y yn = 0.23 * x + 0.22 * y + 1.6 иначе : xn = - 0.15 * x + 0.28 * y yn = 0.26 * x + 0.24 * y + 0.44 нарисовать зеленый пиксель на экране в точке ( xn , yn ) x = xn y = yn приращение t