Имам набор от неприпокриващи се многоъгълници. Тези полигони могат да споделят възли, ръбове, но строго без припокриване.
Сега ще ги свържа с помощта на техниката на ограничена триангулация на Делоне (CDT). Мога да взема мрежата без проблем.
Проблемът ми е, че след мрежата искам да знам кой елемент на мрежата към кой оригинален полигон принадлежи. МОЯТ сегашен подход е да изчисля центроида за всеки елемент на мрежата и да проверя в кой от оригиналния многоъгълник попада този центроид. Но не ми харесва този подход, тъй като изисква много изчисления.
Има ли някакви ефективни начини да направите това (по отношение на Big O времето за изпълнение)? Моите проекти включват десетки хиляди полигони и не искам скоростта да се забавя.
Редактиране: Уверете се, че всички върхове в мрежест елемент споделят общо лице, няма да работи, защото има случаи, в които всички върхове могат да имат повече от едно общо лице, както по-долу (пунктираната линия образува мрежест елемент, чийто върховете имат 2 общи лица):