Есть ли алгоритм, который может дать мне площадь неперекрывающихся частей двух произвольных многоугольников? Я не смог найти ничего обобщающего для двух произвольных многоугольников.
Существует Алгоритм отсечения Vatti , который работает с произвольными полигонами и позволяет находить "xor" полигон (ы) отсечения. Затем вы можете рассчитать площадь результата.
Этот алгоритм используется в Библиотека Clipper (с открытым исходным кодом, имеет привязки к некоторым языкам программирования)
Площадь многоугольника проста по формуле шнурка, а неперекрывающаяся область - это сумма отдельных областей за вычетом площади пересечения.
Многоугольник пересечения должен быть вычислен явно, для Пример использования алгоритма отсечения Вейлера и Атертона. https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm.
Остерегайтесь того, что реализация не является тривиальной.