Исследуйте аполлониеву сеть
Аполлониева сеть: вложенные друг в друга окружности — до бесконечности
Представьте себе три окружности, касающиеся друг друга. В пространстве между ними остается крошечный зазор.
Теперь поместите в этот зазор четвертую окружность так, чтобы она касалась трех окружающих её окружностей. Это создаст еще больше зазоров, но уже меньшего размера.
Продолжайте добавлять новые окружности — одну за другой; они будут становиться всё меньше и многочисленнее, а сам узор — всё более сложным.
Если продолжать этот процесс, можно обнаружить нечто поистине удивительное: как бы сильно вы ни увеличивали изображение, между уже имеющимися окружностями неизменно будут появляться новые. Это и есть аполлониева сеть.
Начнем с трех окружностей
На самом деле, чтобы понять суть аполлоновой упаковки окружностей, сложная математика не нужна.
Давайте начнем с трех окружностей.
Расположим их так, чтобы они касались друг друга; в пространстве между ними образуется небольшой зазор. На первый взгляд он кажется самым обычным, но теперь мы сделаем кое-что интересное: поместим в этот зазор еще одну окружность так, чтобы она касалась всех трех окружающих. Теперь у нас есть четыре взаимно касающиеся окружности.
А дальше начинается магия.
Теперь у нас четыре окружности, но если присмотреться, между ними возникли новые зазоры. Что делать? Все просто: продолжать их заполнять.
Поместите небольшую окружность в новый зазор так, чтобы она касалась окружающих окружностей. Затем найдите следующий зазор и поместите окружность туда. Найдите еще один — и снова добавьте окружность.
Зазор → Размещаем окружность → Появляются новые зазоры → Размещаем новые окружности → Все больше и больше окружностей → Продолжаем...
Если проделать это всего несколько раз, можно увидеть очень простой узор. Но если повторять этот процесс дальше, узор стремительно усложняется.
Почему эти окружности так идеально вписываются?
Может показаться, что это дело случая, но на самом деле это не так.
Математика утверждает: если нам известно расположение нескольких взаимно касающихся окружностей, мы можем точно рассчитать положение и размер еще одной окружности, которая будет касаться всех остальных.
Поэтому вместо того, чтобы просто пытаться вписать окружность в определенное место, мы точно вычисляем, где должна находиться следующая окружность и какого размера она должна быть, исходя из уже имеющихся. В этом и заключается суть аполлоновой упаковки окружностей.
По сути, это превращается в математическую игру по заполнению пустот.
Этот процесс можно представить как набор пустых пространств, каждое из которых образовано промежутками между уже существующими окружностями. Наша задача — найти такой промежуток и вписать в него окружность, которая идеально туда поместится. Новая окружность создает новые промежутки; это означает, что с каждым добавлением окружности появляется все больше мест для заполнения. Это похоже на бесконечную математическую игру по заполнению пространства.
Первые добавленные окружности уже значительно меньше исходных. На следующем этапе появляются еще более мелкие, затем — еще меньше, и так далее. В итоге мы видим огромное количество крошечных окружностей, плотно прилегающих друг к другу. Но самое удивительное то, что малый размер не означает завершение процесса. Даже вокруг окружности, которая настолько мала, что едва различима, могут возникать новые промежутки — места, куда можно поместить еще более мелкие окружности.
Что будет, если бесконечно приближать изображение?
Представьте, что вы видите маленький круг. Приближаете изображение — и видите еще больше маленьких кругов. Приближаете еще сильнее — появляются круги, которые еще меньше. Приближаете снова — и возникают всё новые структуры. Как и в случае с множеством Мандельброта и множеством Жюлиа, здесь возникает уникальное ощущение: кажется, что вы достигли предела узора, но при увеличении открываются новые миры, скрытые внутри. Однако способы формирования этих бесконечных деталей различаются.
Бесконечная детализация множества Мандельброта возникает в результате непрерывной итерации комплексных чисел. При приближении к определенной области вы видите сложные границы и новые структуры.
Напротив, бесконечная детализация аполлониевой прокладки (или аполлониевой упаковки кругов) обусловлена многократным заполнением пространства между кругами новыми кругами.
В одном случае задействованы вычислительные траектории, а в другом — рекурсивная упаковка. Таким образом, если множество Мандельброта — это «мир бесконечных вычислений», то аполлониева прокладка больше напоминает «мир бесконечной упаковки».
Почему это называется «Аполлоний»?
Название отсылает к древнегреческому математику Аполлонию Пергскому — выдающемуся геометру, внесшему значительный вклад в изучение конических сечений и геометрии.
В данном контексте «Аполлоний» указывает на классическую геометрическую задачу: как построить окружность, касающуюся заданного набора окружностей? Она известна как задача Аполлония. Аполлониева упаковка окружностей основана именно на этом геометрическом свойстве взаимного касания окружностей.
Что такое «касательная»?
На самом деле вы видите это каждый день. Если две окружности касаются друг друга ровно в одной точке, не пересекаясь, говорят, что они касаются друг друга.
Самое важное правило упаковки окружностей Аполлония заключается в том, что окружности должны касаться друг друга; каждая новая добавленная окружность также должна касаться окружающих её окружностей. В результате весь узор, который вы видите, представляет собой сложнейшую сеть соприкасающихся окружностей.
Это может выглядеть сложно, но правила на самом деле очень просты. Нам нужно всего одно базовое правило: найти свободное пространство и поместить туда окружность, касающуюся окружающих её окружностей. А затем — повторить.
Здесь нет художника, нет ручного проектирования и нет ручной подгонки отдельных окружностей. И всё же результатом становится невероятно замысловатый узор. В этом и заключается самая захватывающая особенность графики, созданной с помощью математических алгоритмов: сложные результаты не обязательно требуют сложных правил.
Немного подробнее о математике
Если углубиться в математику, можно обнаружить здесь красивую закономерность. Математики используют соотношение, связывающее кривизну окружностей, чтобы быстро вычислять параметры новых окружностей.
Понятие кривизны можно упрощенно определить как степень крутизны изгиба окружности. Окружности с большим радиусом имеют малую кривизну, а очень маленькие окружности — большую.
Итак: большая окружность → малая кривизна; маленькая окружность → большая кривизна.
В аполлоновой упаковке окружностей существует изящная целочисленная зависимость между кривизной различных окружностей. Это означает, что построение такой упаковки — не просто интуитивное рисование кругов, а создание точной математической структуры.
В классической задаче о четырех попарно касающихся окружностях, зная кривизну трех из них, можно вычислить кривизну четвертой. Эта зависимость известна как теорема Декарта и выражается формулой: (k1 + k2 + k3 + k4)2 = 2(k12 + k22 + k32 + k42), где k — кривизна окружности.
Если формулы вам не по душе, можно представить это так: зная параметры трех окружностей, можно точно вычислить параметры еще одной окружности, которая будет касаться всех трех. Это одна из математических основ, позволяющих всей системе непрерывно и «автоматически» заполнять пространство новыми окружностями.
Почему всё выглядит так аккуратно и упорядоченно?
Потому что положение каждого круга не случайно: оно должно удовлетворять условию касания.
Следующий круг также должен касаться остальных, и для каждого последующего круга действует то же правило.
Таким образом, даже по мере увеличения числа кругов вся композиция подчиняется единому геометрическому принципу. Это порождает сочетание сложности и порядка — именно то, что делает аполлониеву сеть столь притягательной.
Рассматривая аполлониеву сеть, можно заметить, что в определенных зонах круги упакованы особенно плотно, причем плотность возрастает по мере приближения к краям.
Один круг может быть окружен множеством более мелких; если присмотреться, то между этими мелкими кругами можно обнаружить еще более крошечные. Эта последовательность — крупные круги → мелкие круги → еще более мелкие круги → крошечные круги → вплоть до бесконечности — создает структуру из уменьшающихся элементов, придающую всему узору глубокое ощущение многослойности и объема.
Это напоминает и геометрическую фигуру, и миниатюрную вселенную
При первом взгляде на аполлонову сеть многим на ум приходят клетки, пузыри, планеты, микромир или архитектура инопланетной цивилизации.
Разумеется, это лишь визуальные ассоциации. Сама математика не ставит цели «нарисовать скопление клеток». Она просто выполняет непрерывный процесс: «найти пустоту и вписать в нее касательную окружность». Однако при многократном повторении этого правила человеческий мозг невольно ищет в этих плотных структурах знакомые образы.
Продолжайте исследовать бесконечный микроскопический мир
Заполнение круга Аполлония – это портал в "бесконечный микромир".
Если вам нравится увеличивать масштаб и находить скрытые структуры, вы можете продолжить изучение набора Мандельброта, набора Джулии и Ньютоновы фракталы, которые создают бесконечное количество деталей различными способами: множество Мандельброта и множество Жюлиа возникают в результате итерации комплексных чисел, фрактал Ньютона возникает в результате процесса решения уравнений, а заполнение круга Аполлония возникает в результате Бесконечного рекурсивного заполнения между кругами. Вместе они демонстрируют очень интересную математическую идею: Простое правило может создать почти бесконечный мир, пока он повторяется
Итак, вы можете начать с трех кругов, затем увеличить масштаб, а затем снова увеличить масштаб, чтобы увидеть, где спрятан следующий круг.
Вы можете продолжать наслаждаться более замечательной математической графикой или Просмотреть дополнительные сведения о проблеме Аполлония в Википедии