Я работаю над реализацией алгоритма декомпозиции Slab, для point location, и я застрял на одном из его заключительных шагов. У меня есть список вершин, а также список соседей вершин (например, сосед [0] имеет все вершины, которые связаны с вершиной 0). Я могу создать плиты, описанные в алгоритме, просто отлично, но после того, как я обнаружил, между точками линии есть точка, я не знаю, как получить весь раздел/цикл/грань, в которой находится точка.Обнаружение цикла, заданного отрезками линии
В принципе , у меня есть этот
И это то, что я хочу
Я мог бы просто попытаться обнаружить все циклы, в грубой силы образом, бу т эффективности здесь. Любая идея о том, как я должен подходить к этой проблеме? Все вершины и сегменты линии поступают из входного файла, поэтому я могу упорядочить их определенным образом, если это помогает с обнаружением.
Заранее спасибо