Да, существуют современные методы для деления невыпуклого многоугольника на треугольники, учитывая наличие внутренних отверстий. Один из таких методов - алгоритм Делоне-Триангуляции, который осуществляет автоматическое построение треугольной сетки на основе заданного многоугольника с отверстиями.
Для триангуляции невыпуклых многоугольников с отверстиями можно использовать библиотеку Triangle. Triangle – это бесплатная библиотека на языке С, которая позволяет проводить качественную триангуляцию многоугольников любой формы, включая невыпуклые многоугольники с внутренними отверстиями. Библиотека Triangle использует метод Делоне-Триангуляции и имеет гибкий интерфейс для управления параметрами триангуляции.
Благодаря библиотеке Triangle можно избежать написания собственной реализации алгоритма триангуляции и упростить процесс работы с невыпуклыми многоугольниками с отверстиями.