@sydd - То есть вы ищете, где линии пересекаются, и затем заполняете их? Изображение поможет, спасибо.

отаю над простым приложением для рисования, и мне нужен алгоритм для заливки.
Пользовательский рабочий процесс будет выглядеть следующим образом (аналогично Flash CS, только проще):

пользователь рисуетПрямо линии на рабочем месте. Они обрабатываются как векторы, и могут быть выбраны и перемещены после того, как они нарисованы.Пользователь выбирает инструмент заливки и нажимает на область рисования. Если область окружена линиями в каждом направлении, к области применяется заливка.

если линии перемещаются после применения заливки, площадь заливки изменяется соответственно.

У кого-нибудь есть хорошая идея, как реализовать такой алгоритм? Основная задача в основном определить отрезки, окружающие точку. (и сохраняя эту информацию каким-либо образом, если строки перемещены)

РЕДАКТИРОВАТЬ: объяснение изображения: (могут быть и другие строки на холсте, которые не имеют значения для алгоритма заполнения)

EDIT2: более сложная ситуация:

EDIT3: я нашел способ заполнить полигоны с отверстиямиhttp://alienryderflex.com/polygon_fill/ Теперь главный вопрос: как мне найти свои полигоны?

Ответы на вопрос(3)

Ваш ответ на вопрос