Есть ли 3D-эквивалент карт с гексами?

26

Вероятно, самое большое преимущество листов карт на основе гекса по сравнению с квадратом состоит в том, что центр каждого гекса имеет одинаковое расстояние до всех соседних гексов. Есть ли подобная форма, которая выкладывается таким образом в 3D, и движок, который поддерживает такую ​​модель?

Hackworth
источник
Вы на самом деле задаете два вопроса (не рекомендуется). Первый вопрос, касающийся трехмерных фигур (кроме кубов, которые я предполагаю), действительно принадлежит на math.stackexchange.com . Второе больше связано с игрой, хотя я подозреваю, что ответ - нет. :)
Циклоп
1
Квадраты также имеют одинаковое расстояние до всех соседних квадратов (при условии, что сосед - это квадрат с
общим
2
Я подумал о том, чтобы поставить его на математику, но я подумал, что тема может быть слишком близка к реальной применимости;) Но я попробую тогда.
Хакворт
@bummzack Если это не было очевидно из вопроса, я, конечно, ссылался на случай, когда все 8 квадратов считаются соседними, или 26 кубов в 3D.
Хакворт
Я немного отредактировал ваш вопрос, чтобы преуменьшить «математику» первого бита и уделить больше внимания аспекту движка.
Джош

Ответы:

19

Команда Google и Wikipedia тэг на помощь:

Тесселяция и, более определенно для 3D, Honeycomb - это термин для поиска. Кубы действительно являются единственными правильными (все грани конгруэнтны) И заполняющими пространство (без пробелов, как при заполнении сферы) многогранниками в трехмерном пространстве. Но у них та же проблема, что и у 2D-квадратов - расстояние между соседями сильно различается.

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

Hackworth
источник
+1 Интересно. Ваш счетчик соседей куба, кажется, выключен (должно быть 26 вместо 28?).
bummzack
+1 Соты, приятно. Я знал структуру, забыл имя.
инженер
9

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

Эквивалентным трехмерным представлением является упомянутое выше гранецентрированное кубическое (FCC) / кубическое плотное уплотнение (CCP) с использованием ромбических додекаэдров.

Face Centered Cubic тесселяция в трех измерениях

Эта статья в Википедии касается, в частности, FCC / CCP, а в этой другой статье она сравнивается с гексагональной плотной упаковкой (HCP), но вторая статья имеет тенденцию быть немного более математичной.

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

Хотя мне больно, простые кубы с координатами {x, y, z} выглядят гораздо более простым решением, позволяя каждому сосредоточиться на игровом процессе, а не постоянно сбиваться с толку нетривиальным выбором стандарта отображения.

Просто мои 2 цента, хотя и очень позднее дополнение к этой теме.

О, в качестве отступления для настроек космической тематики, каждая ячейка имеет двенадцать смежных ячеек (три сверху, три снизу и шесть вокруг плоскости), и это обеспечивает аккуратную связь созвездия / астрологии. Представьте домашний сектор в начальной ячейке, а затем назовите каждый соседний сектор в честь одного из астрологических созвездий. Так же, как гекс-карты могут быть разложены на более мелкие гексы, ячейки FCC могут быть разложены на более мелкие ячейки, что позволяет разложить каждый сектор, названный в честь созвездия, на подсекторы. «Давайте установим курс для подсектора 031 Сектора Близнецов» ...

Стюарт

StuartW
источник
Мне было бы интересно обсудить с вами проблему трехмерных шестнадцатеричных координат для РПГ, если хотите.
Кайл Стрэнд,
6

Существует два простых трехмерных аналога гексагональной решетки: гексагональная плотная упаковка (HCP) и кубическая плотная упаковка , также называемая гранецентрированной кубической решеткой (CCP / FCC).

Обе эти решетки очень похожи: у них одинаковое количество ближайших соседей на сайт (12) и одинаковая плотность упаковки сфер (~ 74%), и они могут быть разложены на сложенные двумерные шестигранные решетки.

Из этих двух я бы посчитал решетку КПК несколько «более приятной»: она более симметрична и не имеет предпочтительной оси, такой как решетка ГПУ. В частности, если бы вы сидели внутри одной из ячеек решетки КПК и смотрели на одну из ближайших соседних ячеек, решетка выглядела бы одинаково, независимо от того, на какую соседнюю ячейку вы смотрели. Это не относится к решетке HCP.

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

Ромбическая додекаэдрическая черепица

(Фото пользователя Википедии AndrewKepert, лицензировано по GFDL 1.2+ / CC-By-SA 3.0.)

Также обратите внимание, что, как предполагает альтернативное название «гранецентрированная кубическая решетка», существует очень простая формула для нахождения центров клеток в решетке КПК: начните с простой кубической решетки с точками в углах кубов, и добавьте новые точки в центрах граней кубов. Ближайшими соседями точек на углах являются те, которые расположены на 12 смежных гранях, в то время как ближайшими соседями точек на гранях являются 4 на смежных углах плюс 8 на смежных гранях двух кубов, имеющих общую грань, на которой центральная точка лежит. (С некоторой геометрией вы можете показать, что окрестности всех точек на самом деле выглядят одинаково, даже если эта конструкция создает впечатление, будто «грани лица» отличаются от «угловых точек».)

(Примечание: страница MathWorld, на которую я ссылался выше, по-видимому, содержит ошибку, в которой плотность связанной не плотно упакованной "Body-Centered Cubic" решетки также равна 74% - на самом деле это около 68%.)

Илмари Каронен
источник
5

Я согласен с @Cyclops, что это, вероятно, лучше спросить при обмене математических стеков, но в то же время вы можете захотеть взглянуть на структуру гексагональной плотной упаковки . Это наиболее плотное расположение сфер в 3D, и хотя расстояние до всех соседей не одинаково, оно может быть лучшим, что вы собираетесь получить. Cubic Алмазная решетка имеет одинаковое расстояние до непосредственных соседей, но это довольно свободно упаковано, и каждая точка имеет только четыре соседних точек.

SimonW
источник
HCP действительно работает отлично; вам просто нужно немного «сжать» слои, чтобы расстояние между центрами клеток было одинаковым во всех направлениях. Таким образом, ячейка имеет двенадцать соседей - три вверху, три внизу и шесть на одной плоскости.
Мартин Сойка