如何在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
极客教程