Видели мозаики из кубиков Рубика? В сети достаточно контента с кубическими картинами, портретами из десятков, сотен, и даже тысяч кубиков. Но никто не собирает мозаики из пирамидок. Пирамидка (она же – пираминкс) – это перестановочный пазл, похожий на кубик Рубика. Ее цветные элементы – те же пиксели, только треугольные, и цветов не шесть, а четыре. Казалось бы, бери и складывай. Однако мозаик из пирамидок я не встречал.

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

Пираминкс (Pyraminx) – это головоломка в форме правильного тетраэдра. Каждая грань поделена на девять треугольников, а в собранном состоянии имеет свой цвет: обычно красный, синий, желтый и зеленый.

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

Все изменилось после триумфа кубика Рубика. В 1981 году Мефферт запатентовал пирамидку в Европе и запустил массовое производство через японскую компанию Tomy Toys. Интересно, что в СССР независимо от Мефферта такую же головоломку изобрел кишиневский инженер Александр Ордынец – отсюда народное название «молдавская пирамидка». Причем заявку на патент Ордынец подал даже на пару месяцев раньше Мефферта.

Математика на грани

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

При повороте частей пирамидки вдоль плоскостей, разделяющих ее, отдельные фрагменты меняют своё положение, и 36 цветных пластинок на гранях принимают различные состояния.

Количество возможных комбинаций цветных плиток на пираминксе посчитано и составляет 933 120 состояний без учета тривиальных угловых элементов. А с учетом комбинаций вершин число допустимых конфигураций – 75 582 720.

Для мозаики важно состояние не всего пираминкса, я только одной грани. Число комбинаций для 9 элементов и 4 возможных цветов рассчитывается элементарно: 4⁹ = 262 144. Однако не все комбинации допустимы.

На одной грани пираминкса 9 цветных плиток разных элементов:

  • 3 уголка – вращаются независимо, каждая привязана к своей вершине. Эти элементы не участвуют в перестановках и не влияют на остальные детали. Каждый уголок имеет три цветные грани и, соответственно, может находиться в одной из трех ориентаций.

  • 3 центра – осевые элементы, зафиксированные относительно своего угла, но способные вращаться вокруг своей оси. Центр жестко связан с соответствующей осью вращения и не может «переехать» на другую грань, но может менять ориентацию, принимая один из трех своих цветов. К каждому центральному элементу конструктивно привязан соответствующий ему уголок.

  • 3 ребра – элементы, которые свободно перемещаются по головоломке. Всего у пираминкса шесть реберных элементов. Каждый из них имеет два цвета (как у кубика Рубика) и может перемещаться между различными позициями и переворачиваться. Именно перестановки и ориентации ребер создают основную «комбинаторную сложность» пираминкса. 

Свой подход к определению их числа недопустимых комбинаций я выложил на тематическом ветке speedsolvong.com. С любителями математики перестановочных пазлов можем обсудить там. А здесь приведу только свою схему невозможных паттернов на грани пираминкса.

Розовый и бирюзовый условная комбинация из двух цветов из четырех возможных. Всего возможно шесть таких комбинаций. Серым цветом обозначены ребра, которые могут принимать любой из четырех цветов.
Розовый и бирюзовый условная комбинация из двух цветов из четырех возможных. Всего возможно шесть таких комбинаций. Серым цветом обозначены ребра, которые могут принимать любой из четырех цветов.

Паттерны из пираминкса

Некоторые комбинации цветных плиток на грани пираминкса могут восприниматься глазом как узор. А сами плитки – как пиксели, только не квадратные, а треугольные. Девять треугольных пикселей и четыре цвета позволяют собирать простые симметричные композиции. Например, можно сделать контрастный уголок, выделить ребра или собрать центры одного цвета.

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

Паттерн можно рассматривать как мозаику. Но одна пирамидка (так же, как и один кубик Рубика) – всё же еще не полноценная мозаика. Для мозаики нужно несколько головоломок, которые вместе составляют единый узор или изображение.

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

Я сделал специальную подставку с шестью углублениями под уголки шести перевернутых пирамидок. Получился шестиугольник из 36 треугольных пикселей – что уже похоже на сетку для мозаики. Шесть пирамидок в форме соты – базовый модуль для мозаики из пираминксов.

Треугольные пиксели

Еще один вызов при создании мозаик из пирамидок – треугольная форма пикселей, которая не дает рисовать горизонтальные и вертикальные линии. С одной стороны, это ограничение с точки зрения классического пиксель-арта, с другой – уникальность изображения, формирующегося на треугольной геометрической сетке.

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

Стоит отметить, что сама идея нестандартной формы пикселей не нова: уже используются дисплеи с необычным расположением субпикселей вокруг основной квадратной решетки – ромбические, прямоугольные, а иногда и частично гексагональные. Такие схемы применяются, чтобы улучшить резкость текста, уменьшить алиасинг-эффект (эффект ступенчатости) или повысить эффективность OLED‑матриц. Треугольные или гексагональные пиксели остаются в основном экспериментом, но концептуально они уже имеют «реальных собратьев» в современных технологиях.

Похожую геометрию использует и сама природа. У многих насекомых, например у пчёл, зрение устроено на основе фасеточных глаз. Каждый глаз состоит из тысяч маленьких оптических элементов – омматидиев, которые расположены в почти гексагональной упаковке. Такая структура позволяет максимально эффективно заполнить поверхность глаза чувствительными элементами и равномерно воспринимать изображение со всех направлений.

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

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

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

Эксперименты с большими пира-мозаиками

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

Получив пираминксы с кастомными цветами, я решил поэкспериментировать с большими пира-мозаиками. Поскольку физически у меня было всего шесть пирамидок (ровно на один модуль – соту), я сделал пиксельную сетку из 38 модулей: создал цифровой макет рисунка, затем каждый модуль собрал физически, отфотографировал и объединил 38 изображения в одно в графическом редакторе.

Я взял два узнаваемых образа – анимационных героев Скуби-Ду и Перри-утконоса. Разложил их на пиксели в сетке, затем для каждого пираминкса корректировал паттерн так, чтобы он учитывал механические ограничения и мог быть собран легальными вращениями. При этом общее изображение должно было оставаться узнаваемым и эстетически гармоничным.

Ниже представлены склеенные изображения мозаик из пираминксов.

P.S. Это еще один вариант рамы для мозаик из пирамидок – шестигранник на нитях («Шаманский бубен»).

И бонусное видео