Какие алгоритмы я могу использовать, чтобы проверить, подходит ли многоугольник внутри другого многоугольника? - PullRequest
1 голос
/ 31 октября 2019

Я пытаюсь написать программу, в которой у меня есть «основной» многоугольник, и я хочу проверить, могут ли другие многоугольники вписываться в него.

Эти многоугольники имеют произвольную форму / размер, часто являются выпуклыми и не могут пересекаться самостоятельно.

В принципе, учитывая два многоугольника A и B, я хочу найти перевод(вращение / перемещение) многоугольника A, что делает его "наилучшим образом" подходящим внутри многоугольника B.

Если A полностью соответствует B, то "наилучшим" соответствием является конфигурация, котораямаксимизирует расстояние между двумя ближайшими точками на обоих многоугольниках.

Если A не помещается полностью в пределах B, «наилучшим» соответствием является конфигурация, которая минимизирует площадь частей Aкоторые не охватываются B.

Существует ли быстрый алгоритм, который может это сделать? Если это очень сложно, я бы предпочел что-то уже реализованное, возможно, в CGAL.

...