Здравствуйте, Erop, Вы писали:
E>Потом заводишь полигон в виде строк таких штрихов.
E>Ну и пользуешься. Все операции реализуются тривиально....
Не так уж и тривиально
Но мысль в правильном направлении.
1. Представить полигон не массивом вершин, а коллекцией отрезков (избыточно, но удобно)
2. Перебирать по очереди все отрезки у обоих полигонов на предмет пересечения (пересечение отрезков находится гуглом в две секунды)
3. Анализировать полученные точки пересечения на предмет попадания в оба полигона. Это нужно для формирования результирующего полигона (в зависимости от операции: AND, OR, XOR)
4. Удаление лишних отрезков
5. А тут уже можно заняться оптимизацией.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.