Article image «Box Pleating - основы структурной оптимизации (часть 10): Пифагорово (змеевидное) растяжение, часть 2»
no comments

Box Pleating - основы структурной оптимизации (часть 10): Пифагорово (змеевидное) растяжение, часть 2

Продолжение статьи -> Box Pleating - основы структурной оптимизации (часть 9)

В предыдущей статье мы запустили нашу «Пифагорову змейку» и увидели, как она ловко лавирует между полями, сохраняя углы в 45 градусов и попадая точно в узлы сетки. Вы узнали, что это не просто художественный прием, а геометрический закон, позволяющий методу Box Pleating конкурировать по эффективности с Circle Packing. Для практика этого может быть достаточно: выбрал прямоугольник, пустил змейку, получил результат. Но для исследователя, каким я надеюсь, вы являетесь, этого мало. Нам нужно понять, почему это работает. Почему змейка никогда не сбивается с пути? Почему она всегда находит узел? И есть ли способ упростить поиск параметров для расчета на лету человеку, далёкому от математики?

Эта статья призвана положить конец случайностям. Мы перейдем от интуитивного перебора к точному проектированию. Оказывается, под привычной квадратной сеткой Box Pleating скрывается другая, невидимая глазу структура. Это своего рода «рентгеновское зрение» для проектировщика. Сегодня мы научимся видеть эту структуру, накладывать её на чертеж и использовать как визуальный калькулятор. Мы докажем, почему эта сетка работает, как она связана с золотым сечением и как создать её за 5 минут в любом графическом редакторе. Добро пожаловать в глубинную архитектуру Пифагорова растяжения.

Невидимый каркас паттерна

Вспомните, как мы строили растяжение. Мы брали три прямоугольника a x b, строили на них треугольники и получали смещения (рис.1 - левый). Все эти смещения в итоге складывались в векторы, которые должны заканчиваться в целых узлах сетки. Если бы они попадали «между узлами» сетки, структура была бы нарушена и мы вышли бы за пределы BP и основных элементов полей .

рис.1 - Математическая база растяжения

Для тех, кто привык мыслить категориями линейной алгебры, это выглядит как умножение вектора параметров на матрицу преобразования. Матрица «M» (рис.1) — это компактная запись правил игры. Она говорит нам:

  • Чтобы получить координату «X», возьми две «a» и одну «b»
  • Чтобы получить «Y», возьми минус одну «a» и две «b»

Что она делает на самом деле? Она берет обычную квадратную решетку параметров (a,b) — ту, которую вы видите на сетке — и превращает её в новую решетку точек (x,y). Эти новые точки обладают магическим свойством: они гарантированно совместимы с условиями Пифагорова растяжения (рис.2).

рис.2 - Распределение узлов растяжения

Это один из тех моментов, где математика делает красивый подарок практику. На первый взгляд может показаться, что наша вспомогательная сетка — это какой-то кривой параллелограмм, с которым неудобно работать. Но на самом деле это идеальная квадратная сетка, просто повёрнутая и растянутая. И сейчас мы докажем это шаг за шагом, чтобы у вас не осталось никаких сомнений.

Любая матрица работает с базисными векторами. В обычной квадратной сетке у нас есть два базисных вектора:

  • ē1 = (1,0) — шаг вправо на одну клетку
  • ē2 = (0,1) — шаг вверх на одну клетку

Эти два вектора перпендикулярны (угол между ними 90°) и имеют одинаковую длину (1 единица). Именно поэтому наша обычная сетка — квадратная. Теперь посмотрим, во что превращаются эти векторы после применения матрицы M.

  • Ū = M x ē1 = (2, 1)
  • Ȳ = M x ē1 = (-1, 2)
  • Ū ⋅ Ȳ = x1 ⋅ x2 + y1 ⋅ y2 - скалярное произведение равно (2)(-1) + (1)(2) = 0, а значит вектора перпендикулярны
  • При этом |Ū| = |Ȳ| = √(xi2 + yi2) = √5 - а значит сетка квадратная и содержит все решения в точках пересечения.

При этом, как вы могли заметить, что координаты меняются не хаотично. Так, к примеру, вектор (1,0) превратился в (2,1). Вектор (0,1) превратился в (-1,2). Что это значит геометрически? Наша вспомогательная решетка не просто растянутая, она повёрнутая. Угол поворота θ определяется отношением координат первого базисного вектора (1,2): θ = arctan(2) ≈ 63.43o от x или соответственно 26.57o от y.

Один интересный малозаметный факт: tg(θ/2) = 1/φ , где φ - золотое сечение (для θ = arctg(2) ≈ 63.43° половина угла составляет ≈ 31.72°, а tg(31.72°) ≈ 0.618). Это прямая и красивая связь с золотым сечением, вероятно это и объясняет, почему Пифагоровы растяжения часто выглядят как диагональные потоки, пронзающие стандартную сетку Box Pleating. Вы интуитивно чувствуете этот угол, когда ведете змейку вдоль прямоугольника 1 × 2. Математика подтверждает: вы следуете линиям этой скрытой повернутой решетки (рис. 3).

рис.3 - Использование сетки для запуска змеи

Это простой и красивый принцип использования повернутой сетки позволяет четко идентифицировать, готов ли конкретный целевой узел к простановке Пифагорова растяжения или нет. Не нужно никаких дополнительных расчетов, нужно просто при построении наложить повернутую сетку и посмотреть, какие узлы в местах их пересечения совпадут. Других возможных вариантов для двух полей по краям и рекой по середине просто нет - математика это указывает как незыблемый факт. Однако, как вы понимаете, змейку можно пустить и дальше. И что тогда? (рис.4)

рис.4 - Растяжение Пифагоровой змейки

Безусловно! Это тоже в математике легко описывается другими векторами и матрицами поворота исходя из начальных параметров. То, что начиналось с конкретной задачи про модуль 5, раскрылось как целое семейство преобразований, управляемое одним параметром N. Это уже не просто инструмент — это класс геометрий для проектирования в оригами, порождающий бесконечное семейство всевозможных сеток, которые могут служить для всевозможных растяжений (рис.5).

рис.5 - Параметры произвольных Пифагоровых сеток

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

Обратите внимание, что при растяжении простой змейки N=2 все-таки возникают некоторые неудобства. Несмотря на то, что геометрия сетки с математической точностью создаёт все применимые для конкретных ситуаций сетки, расчет итоговой протекаемой между конкретными полями реки будет зависеть от степени сетки (рис.5). R - ширина реки будет равна в общем случае равна (N-1)a + (N-2)b. И тут, конечно, узлы базовой сетки N=2 имеет абсолютный контроль над реками и полями формирующими Пифагорово растяжение. R(2)=(2-1)a+(2-2)b = a - и мы точно знаем, что выбранный исходный прямоугольник абсолютно точно идентифицирует структурные реки и поля. Но так или иначе, вопрос минутных расчетов и краткой корректировки структуры решает и этот вопрос. Главное, чтобы сохранились основные правила того или иного растяжения - а это соответствие конкретным конечным координатам (X,Y) системе сравнений:

  • NX - (N-1)Y ≡ 0 (mod DN)
  • (N-1)X + NY ≡ 0 (mod DN)

где DN - ортогональный базис плоскости с квадратом нормы DN=N2+(N−1)2 что соответствует определителю матрицы MN Пифагорова базиса порядка N, где N ∈ ℕ, N>1. Что будет работать для любых расчетных точек всего спектра узлов данных целочисленных трансформированных решеток. При этом для оригами, где львиную долю используются симметричные конструкции, можно легко модернизировать сами решетки под повседневные нужды. Для этого достаточно зеркально отразить сетки первого квадранта на остальные части плоскости через координатные оси (рис.6).

рис.6 - Комбинированное использование сеток

Дальнейшее внедрение самого растяжения уже используется либо в качестве перестройки конкретного квадранта поля оригами-структуры, либо в рамках заранее подготовленного блока, который будет впоследствии встроен в общую структуру. И если с подготовленным блоком вопросов нет - заранее ставим растяжение и стыкуем остальные части блока, то с внедрением в рамках конкретных условиях (граница листа, фиксированное расположение элементов структуры) следует остановиться подробнее. Для демонстрации Пифагорова растяжения в «боевых условиях» выберем что-нибудь структурно многообразное, например, бабочку.

Внедрение Пифагорова растяжения в структуру модели

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

Как мы уже знаем - всё начинается не с бумаги, а с абстрактного скелета, который мы называем деревом створок. В этом дереве каждая ветвь соответствует будущей створке модели, а её длина точно отражает реальные пропорции сложенной фигуры. Для нашей бабочки граф выстраивается последовательно: от усиков и хоботка через голову и грудь к основаниям передних и задних крыльев, завершаясь вытянутым брюшком с характерным рифлением. Каждый узел этого графа становится точкой сборки, а расстояния между ними диктуют минимально необходимые зазоры, которые в языке оригами превращаются в реки. Переводя этот абстрактный каркас (рис.7) на плоскость, мы получаем паттерн, где поля сформируются в будущие откидные створки, а пространство между ними определит ширину рек, разделяющих элементы модели.

рис.7 - Дерево створок модели «бабочка»

Классический box pleating собирает эту структуру подобно мозаике, где каждый узел графа занимает своё квадратное поле, а реки прокладываются между ними как чёткие границы, не позволяющие полям перекрываться. На первых этапах сборки паттерн выглядит безупречно: задние крылья получают достаточно площади, усики и хоботок аккуратно размещаются в отведённых секторах, брюшко вытягивается вдоль центральной оси, сохраняя строгую ритмику складок. Но когда очередь доходит до передних крыльев, математика начинает сопротивляться. Им требуется значительно большая площадь (рис.8 - красная область) для естественного размаха, плавное расширение к внешнему краю и тонкое распределение материала вдоль радиальных жилок, чего ортогональная сетка box pleating обеспечить не в состоянии (внутренние области криволинейного болота не дадут плавность изгиба).

рис.8 - Структурный паттерн модели

Попытки увеличить поле заднего крыла неизбежно приводят к значительному увеличению сетки, либо к конфликту с соседними элементами, а вся конструкция теряет масштабируемость и лёгкость. Именно в этот момент на сцену выходит Пифагорово растяжение, которое не просто добавляет бумагу, а фундаментально перестраивает саму архитектуру паттерна. При параметре N=2 мы используем обобщённую формулу, где обобщённое пифагорово число D₂ принимает значение пяти, а квадратный корень из него задаёт новый масштаб преобразования. Это означает, что единичный шаг классической сетки трансформируется в вектор длиной √5, сохраняя ортогональность направлений, эффективно увеличивает доступную площадь полей. Визуально паттерн перестаёт быть жёсткой решёткой, превращаясь в структуру с ромбическими элементами, где каждое поле сохраняет свою топологическую роль, но получает дополнительное пространство за счёт геометрического перераспределения (рис.9).

рис.9 - Выбор Пифагорова прямоугольника

Граница между классической сеткой и растянутой областью оформляется через образованную базовым Пифагоровым прямоугольником 2 x 6 змейки (рис. 9.4), которая плавно переводит ортогональные складки в наклонные, становясь при сборке естественными сгибами, а не грубыми швами. Как видно из рисунков 9.2-9.3 это работает, только если позволяет окружение (границы структуры, а не только граница листа). Внутри параллелограмма все отработает с математической точностью, но окружение может и пострадать. Например точка (2,7) не позволит пропустить реку крыла полностью, для этого поля A и B придется сместить (рис. 9.3), что критично для симметричной структуры модели. Поэтому остановимся на варианте 2 x 6 и получим итоговый паттерн (рис. 10 - правая половина).

рис.10 - Локальная оптимизация BP-переходов

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

рис.11 - Итоговый результат

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

Продолжение следует...

Origami artist from Russia
All author's publications

Comments

To add comments, you need to log in to the site

No comments yet