Несколько людей мне уже задали этот вопрос. Я полагаю люди до этого избегали пентагоны не без причины. Но видимо мне потребуется время чтобы осознать проблемность этой фигуры. Но пока, увы, я не понимаю чем принципиально плохи пентагоны и зачем их вообще трогать, хаха.
С пентагонами не получиться соблюдать дальний порядок переодическим замощением. Во все щели полезут апериодические мозаки и прочьий геммор.
Тут кагбэ все уже выдумано за нас в кристаллических структурах, где элементарные ячейки обладают триклинной, орторомбической, гексагональной и т.п. сингониями https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%B3%D0%BE%D0%BD%D0%B8%D1%8F и пятиугольной, семиугольной и прочих странных стмметрий в кристаллах не бывает (только в квазикристаллах, но там узор будет плыть).
Ну а наиболее оптимальная упаковка - это гексагональная/ромбическая
На самом деле это справедливо для пространства любой размерности N>1. Например, сингонии кристаллов описывают пространственные решётки, и таких всего 7 и все они являются трехмерными производными от треугольников, гексов/ромбов и квадратиков (на самом деле все от треугольников, просто высшие сингонии уже имеют кубические и гексагональные элементы симметрии).
А вот конкретно в Вашем случае, как раз таки именно двумерная плоскость (поверхность), и от того что она натянута на сферу, плоскостью быть она не перестанет, инфа 145% :-) Разве что тут только вопрос в кривизне - нулевая она (евклидова) или все же кривизна отлична от нуля. В Вашем случае кривизна положительная, причем еще неизменная во всех направлениях, так что это действительно сложная поверхность и для тайлинга остаются только треугольники, ну или в лучшем случае квадраты. С гексами же уже вылезут пятиугольники, и если мне память не изменяет, то их всегда должно быть 12 и это конечно проблема. Ну а дальше уже все зависит от того, что планируется. Наверняка Вам потребуется где-то хранить данные сетки, может быть еще потребуются развертки и проекции, и конечно же надо будет как-то это все затайлить и тут уже решайте по ситуации, но при любом раскладе остаются только треугольники в качестве базовой геометрии, ну можно еще попробовать квадраты. Или можно немного извратиться, и вместо сферы попробовать натянуть поверхность на тор, с ним не должно быть проблем, на него можно натянуть что угодно. Ну или полусферу, а также полый цилиндр, которые уже является простыми поверхностью в отличии от сферы. Правда это как я понял не Ваш случай. Ну или мучиться с 12 пятиугольниками, если у Вас тайлов там несколько тысяч, то норм, можно даже попробовать деформировать многоугольники так, чтоб заныкать пятиугольники.
Но вообще, например, в астрономии на моей памяти обычно использовали только 2 подхода для разбиения сферических поверхностей: триангуляция и пикселизация, и в таком случае минимум проблем как с замощением мозаикой, так и с эквидистантностью (в разумных пределах, конечно же).
Ну как сказать, вряд ли придется с ними мучится. Тайлов около 500к. Пентагоны довольно сложно заметить. Треугольники, да и остальные базовые фигуры, не вариант. Гексы - это все же очень удобно для пошаговых стратегий. Сейчас пробую натянуть всякие текстурки. С моими требованиями по визуалу (почти его отсутствие), на первый взгляд проблем нет.
Ну одна из самых гемморных задач в плане визуала - это обычно обработка границ между тайлами и гексы тут кстати лучше квадратов, так как для квадратов нужно отработать 2^8 комбинаций (в реальности меньше 48 всего, если субтайлами, то всего 16), а для гексов и треугольников всего 2^6, т.е. значительно меньше (субтайлами вообще должно получичиться 8).
А вот ситуации, когда появляется еще один тип тайлов в таком случае становятся очень неприятными, так как придется еще и для него делать.
Но, например, если это какой-то стилистический лоу-поли, то там вообще границами не заморачиваются и норм играется. А на фоне 500к тайлов, никто конечно 12 пентагонов не заметит.
А гексы да, удобные. Особенно они удобны, то что по всем 6 направлениям перемещения будут одинаковы по дисстанции (в отличии от тех же квадратов, где из 8 направлений 4 являются диагональными).
Тут правда еще стоит вопрос структур данных, каким оьразом хронить информацию о тайлах и сетки.
При таком количестве тайлов какое то, даже самое простое, оформление границ делают всю карту крайне грязной. Поэтому скорее всего оформлять я буду плавным переходом от одного биома к другому, скорее всего этого будет достаточно.
Массив лучшая структура данных + иерархия разбитых треугольников икосаэдра. В общем довольно трудно придумать что то иное для того чтобы эффективно это все отрисовать вместе со вменяемым уровнем контроля над тайлами. 60 фпс уже довольно серьезная задача для старых ноутбучных карточек.
Существует такая фигура икосаэдр. И существует модификация этой фигуры - усеченный икосаэдр. В базовом икосаэдре есть всего 12 точек, у которых на фигуре всего пять треугольников. При усечении эти точки превращаются в пентагоны, остальные в гексагоны.
Делаю планетарную пошаговую фентези стратегию. Планируются механики похожие на систему титулов в Crusader Kings.
Группа в вк: https://vk.com/apates_quest
Пара скриншотов генератора
Комментарий недоступен
Использовал новейшие достижения в математике. ;-)
Тонкая грань между шуткой и диссертацией по математике.
Несколько людей мне уже задали этот вопрос. Я полагаю люди до этого избегали пентагоны не без причины. Но видимо мне потребуется время чтобы осознать проблемность этой фигуры. Но пока, увы, я не понимаю чем принципиально плохи пентагоны и зачем их вообще трогать, хаха.
С пентагонами не получиться соблюдать дальний порядок переодическим замощением. Во все щели полезут апериодические мозаки и прочьий геммор.
Тут кагбэ все уже выдумано за нас в кристаллических структурах, где элементарные ячейки обладают триклинной, орторомбической, гексагональной и т.п. сингониями
https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%B3%D0%BE%D0%BD%D0%B8%D1%8F
и пятиугольной, семиугольной и прочих странных стмметрий в кристаллах не бывает (только в квазикристаллах, но там узор будет плыть).
Ну а наиболее оптимальная упаковка - это гексагональная/ромбическая
Это справедливо для плоскости, но когда мы пытаемся построить мозаику на сфере нам неизбежно придется чем то жертвовать.
На самом деле это справедливо для пространства любой размерности N>1. Например, сингонии кристаллов описывают пространственные решётки, и таких всего 7 и все они являются трехмерными производными от треугольников, гексов/ромбов и квадратиков (на самом деле все от треугольников, просто высшие сингонии уже имеют кубические и гексагональные элементы симметрии).
А вот конкретно в Вашем случае, как раз таки именно двумерная плоскость (поверхность), и от того что она натянута на сферу, плоскостью быть она не перестанет, инфа 145% :-)
Разве что тут только вопрос в кривизне - нулевая она (евклидова) или все же кривизна отлична от нуля. В Вашем случае кривизна положительная, причем еще неизменная во всех направлениях, так что это действительно сложная поверхность и для тайлинга остаются только треугольники, ну или в лучшем случае квадраты. С гексами же уже вылезут пятиугольники, и если мне память не изменяет, то их всегда должно быть 12 и это конечно проблема. Ну а дальше уже все зависит от того, что планируется. Наверняка Вам потребуется где-то хранить данные сетки, может быть еще потребуются развертки и проекции, и конечно же надо будет как-то это все затайлить и тут уже решайте по ситуации, но при любом раскладе остаются только треугольники в качестве базовой геометрии, ну можно еще попробовать квадраты.
Или можно немного извратиться, и вместо сферы попробовать натянуть поверхность на тор, с ним не должно быть проблем, на него можно натянуть что угодно. Ну или полусферу, а также полый цилиндр, которые уже является простыми поверхностью в отличии от сферы. Правда это как я понял не Ваш случай.
Ну или мучиться с 12 пятиугольниками, если у Вас тайлов там несколько тысяч, то норм, можно даже попробовать деформировать многоугольники так, чтоб заныкать пятиугольники.
Но вообще, например, в астрономии на моей памяти обычно использовали только 2 подхода для разбиения сферических поверхностей: триангуляция и пикселизация, и в таком случае минимум проблем как с замощением мозаикой, так и с эквидистантностью (в разумных пределах, конечно же).
Ну как сказать, вряд ли придется с ними мучится. Тайлов около 500к. Пентагоны довольно сложно заметить. Треугольники, да и остальные базовые фигуры, не вариант. Гексы - это все же очень удобно для пошаговых стратегий. Сейчас пробую натянуть всякие текстурки. С моими требованиями по визуалу (почти его отсутствие), на первый взгляд проблем нет.
Ну одна из самых гемморных задач в плане визуала - это обычно обработка границ между тайлами и гексы тут кстати лучше квадратов, так как для квадратов нужно отработать 2^8 комбинаций (в реальности меньше 48 всего, если субтайлами, то всего 16), а для гексов и треугольников всего 2^6, т.е. значительно меньше (субтайлами вообще должно получичиться 8).
А вот ситуации, когда появляется еще один тип тайлов в таком случае становятся очень неприятными, так как придется еще и для него делать.
Но, например, если это какой-то стилистический лоу-поли, то там вообще границами не заморачиваются и норм играется. А на фоне 500к тайлов, никто конечно 12 пентагонов не заметит.
А гексы да, удобные. Особенно они удобны, то что по всем 6 направлениям перемещения будут одинаковы по дисстанции (в отличии от тех же квадратов, где из 8 направлений 4 являются диагональными).
Тут правда еще стоит вопрос структур данных, каким оьразом хронить информацию о тайлах и сетки.
При таком количестве тайлов какое то, даже самое простое, оформление границ делают всю карту крайне грязной. Поэтому скорее всего оформлять я буду плавным переходом от одного биома к другому, скорее всего этого будет достаточно.
Массив лучшая структура данных + иерархия разбитых треугольников икосаэдра. В общем довольно трудно придумать что то иное для того чтобы эффективно это все отрисовать вместе со вменяемым уровнем контроля над тайлами. 60 фпс уже довольно серьезная задача для старых ноутбучных карточек.
Ребята из before we gone прятали их в море
Я, впрочем, тоже не вижу проблемы
Ну обычно от шестиугольников ждёшь, что ходить сможешь в шесть направлений. И внезапно оказавшийся на пути пятиугольник сбивает с толку.
Существует такая фигура икосаэдр. И существует модификация этой фигуры - усеченный икосаэдр. В базовом икосаэдре есть всего 12 точек, у которых на фигуре всего пять треугольников. При усечении эти точки превращаются в пентагоны, остальные в гексагоны.
но почему опять фентези...