Алгоритм проверки полного включения одного полигона в другой?
Доброго времени суток! В данный момент озабочен поиском алгоритма проверки полного включения одного полигона в другой. Интересует верность моей идеи:
- проверяем попарно пересечения сторон исходного полигона с искомым. Если хотя бы 1 пара пересекается, значит полигон не лежит внутри целиком
+ возможно есть готовые реализации алгоритма на java или хотя бы близком к нему(чтоб не clojure какой-нибудь)?
nirvimel: Дело в том, что я как раз рассматриваю общий случай, в том числе и не выпуклый полигон, так что ваше условие является необходимым, но недостаточным.
ZaptoS: Тогда остается ваше первоначальное решение. К нему надо только добавить проверку на то что второй многоугольник лежит не во вне первого. Для этого надо взять произвольную точку внутри второго многоугольника и проверить принадлежит ли она первому.
Дело в том, что я как раз рассматриваю общий случай, в том числе и не выпуклый полигон, так что ваше условие является необходимым, но не достаточным. Мой вариант с пересечением сторон неверен в корне? Хотелось бы какого-то комментария касательно его, если можно