Я пишу генератор мира на основе вороной, в котором я различаю географические объекты, такие как горы, озера, леса и океаны.
Каждому объекту присваивается идентификатор, чтобы его можно было идентифицировать и ссылаться на него.Я использую алгоритм заливки, чтобы определить, к каким элементам относятся ячейки.
Я реализовал пару похожих случаев, когда я хотел бы разбить объект на несколько меньших.Самый простой пример - это два больших леса, соединенных узкой полосой леса.На самом деле, его следует рассматривать как два леса, отделенных друг от друга вокруг узкой полосы, но мой алгоритм заполнения просто просматривает и маркирует все как часть одного большого леса.
Я бы хотел со временем пометить их"West 100 Acre Wood" и "East 100 Acre Wood", давая им знание, что они происходят из одного и того же непрерывного массива леса.Я искал логику частичного заполнения, но мой поиск застрял из-за отсутствия предметной терминологии.
Если вы хотите увидеть код, с которым я работаю: https://github.com/olinkirkland/map