Трассировка полигона с отверстиями для заливки заливки на основе вектора
Я пишу программное обеспечение, которое рисует векторные изображения, и пытаюсь реализовать алгоритм заливки / заливки. Мой подход к этому основан на реализации inkscape, где я буду
- сделать растровый снимок моей поверхности рисования
- сделать традиционную 4-х связанную заливку
- проследить получившийся многоугольник и создать векторизованную версию заполненной области
Алгоритм заливки достаточно прост, но я не нашел хорошего решения для отслеживания многоугольника, если в нем есть отверстия. Я видел этот сайт, который предлагает мне запустить алгоритм поиска дырок на полигоне, а затем запустить алгоритм трассировки по результатам. Однако я не могу найти хороший ресурс по алгоритму поиска дырок. Кто-нибудь знает названия алгоритмов, которые я мог бы реализовать или найти библиотеку для решения этой проблемы?
Если это помогает, я программирую на Java (Android)