Точки пересечения можно определить следующим образом:
foreach line in rectangle 1: line1
foreach line in rectangle 2: line2
find point of intersection for line1, line2
, чтобы найти точку пересечения двух линий:
http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/
Вы можете найтиобласть пересечения путем нахождения точек пересечения и разделения линий на основе этого для создания новых сторон / удаления сторон.Вы можете получить до 8 баллов в полученном многоугольнике или всего 3 (не считая вырожденных случаев).
Нет, я не говорил, что это самый эффективный метод, но он будет работать :)