使用 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

更新时间:2021 年 3 月 16 日

5K+ 浏览量

开启你的 职业生涯

通过完成课程取得认证

立即开始
广告
© . All rights reserved.