Я ищу способ определить, находится ли конкретная точка внутри многоугольника, учитывая его вершины, используя NumPy/SciPy.Точка внутри многоугольника
Я не смог найти ни одного онлайн. Есть ли способ сделать это с помощью NumPy/SciPy?
Я ищу способ определить, находится ли конкретная точка внутри многоугольника, учитывая его вершины, используя NumPy/SciPy.Точка внутри многоугольника
Я не смог найти ни одного онлайн. Есть ли способ сделать это с помощью NumPy/SciPy?
Вы считаете Shapely? Просто создайте Polygon и проверьте, есть ли многоугольник contains.
>>> from shapely.geometry import Point
>>> from shapely.geometry.polygon import Polygon
>>> point = Point(0.5, 0.5)
>>> polygon = Polygon([(0, 0), (0, 1), (1, 1), (1, 0)])
>>> polygon.contains(point)
True
>>> point2 = Point((10, 10))
>>> polygon.contains(point2)
False
Хммм, интересно! Хотя я надеялся, что numpy/scipy будет что-то делать, а не устанавливать новый модуль. Кстати: Вы знаете какие-либо инструменты, которые позволили бы мне рисовать вершины на изображении? –
@Highschooler Я бы использовал изображение в качестве backgroun на фигуре matplotlib, а затем использовал [обработку событий] (http://matplotlib.org/users/event_handling.html) для выбора очков. – arkottke
Ужасно, к сожалению, не поставляется с pip 'pip installs shapely' :( – user1767754
Вы уже задали этот вопрос [здесь] (http://stackoverflow.com/q/21566610/1461210). Если вас не устраивает ответ, который я вам дал, вы должны не понимать его и комментировать, чтобы объяснить, почему, а не открывать другой вопрос. –
Не здравый вопрос, последний был об обрезке, это о точке в полигоне. –
Основной базовый вопрос одинаков - ваша область «crop» - это многоугольник, вы хотите индексировать точки, попадающие в многоугольник. Ответ и советник, и мой вопрос, адресованы мне. –