Существует 2 случая:
Оба полигона лежат на одной плоскости.
Найти все внутренние точки первого полигона.
Произвольно возьмите первый многоугольник, переберите все вершины второго многоугольника и определите, лежат ли они внутри или снаружи первого многоугольника.Это легко сделать для выпуклых многоугольников: см. здесь .
Найдите точки пересечения между двумя многоугольниками
Кнайти точки пересечения, возьмите каждое ребро одного из многоугольников и обведите все ребра другого многоугольника, чтобы найти, пересекаются ли они где-нибудь.это можно найти с помощью формулы для пересечения 2 линий .
Пересекающаяся область - это многоугольник, образованный вершинами во внутренних точках и точках пересечения.
2 многоугольника лежат в разных плоскостях.
Найдите пересечение 2-го многоугольника с плоскостью первого.Вы можете сделать это, рассматривая каждое ребро 2-го многоугольника и находя пересечение между ребром и плоскостью первого многоугольника.Это можно найти с помощью формулы для пересечения между линией и плоскостью .
Проверьте, находятся ли найденные вами точки пересечения внутри или снаружи первого многоугольника.