Самый простой способ, поскольку у вас есть многоугольник, а не облако точек, - наивно триангулировать, затем посетить каждое ребро и проверить, находится ли он вне исходного многоугольника, с помощью простых тестов пересечения линии-многоугольника.
В зависимости от вашего алгоритма вы можете выполнить этот тест как часть подразделения треугольника и пропустить проход в конце. Я уверен, что есть немного лучший способ, но это первое, что приходит на ум.
Edit:
Я реализовал это на своем триангуляторе, и он дал неверные результаты, потому что у меня нет реализованных ограничений. Если вы убедитесь, что все ребра полигона используются, то я считаю, что это должно сработать.