Python 如何快速检查点是否在多边形内

如何在Python中快速检查点是否在多边形内

首先,我们将使用mplPath.Path方法创建一个多边形,然后使用方法poly_path.contains_point来检查给定点是否在多边形内。

步骤

  • 创建一个点列表以制作多边形。

  • 使用给定的顶点和代码创建一个新路径,使用mplPath.Path()。

  • 使用contains_point()方法检查点(200,100)是否存在于多边形内或不在多边形内。返回(闭合)路径是否包含指定点。=> True

  • 使用contains_point()方法检查点(1200,1000)是否存在于多边形内或不在多边形内。返回(闭合)路径是否包含指定点。=> False

示例

import matplotlib.path as mplPath
import numpy as np

poly = [190, 50, 500, 310]
poly_path = mplPath.Path(np.array([[190, 50],
                                   [50, 500],
                                   [500, 310],
                                   [310, 190]]))
point = (200, 100)
print(point, " is in polygon: ", poly_path.contains_point(point))

point = (1200, 1000)
print(point, " is in polygon: ", poly_path.contains_point(point))

输出

(200, 100) is in polygon: True
(1200, 1000) is in polygon: False

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程