Пусть в некоторой системе координат задана диния в виде последовательности ординат:
POLYLINE(x1, y1, x2, y2, ..., xN, yN);
Пусть задан прямоугольник, стороны которого параллельны осям координат и задам левым нижним и правым верхним углами
RECTANGLE(rx1, ry1, rx2, ry2);
Нужно построить пересечение POLYLINE && RECTANGLE (как будто ножницами обрезали полилинию оставив только то, что находится внутри RECTANGLE).
Необходимо учитывать что линия может идти туда-сюда несколько раз через прямоугольник и в результате пересечения должно быть несколько разрывных сегментов — наборов полилиний. причем нужно сохранить порядок следования точек как в исходной полилинии (направленность полилинии).