可以使用numpy的函数numpy.polyval
来判断一个点是否落在多边形内。首先需要将多边形的顶点坐标转化成一个多项式的系数,然后使用该多项式来计算点的横坐标和纵坐标,如果这两个值相等,则该点落在多边形内。
代码示例如下:
import numpy as np
# 顶点坐标
vertices = [(1,1), (3,3), (3,1), (1,3)]
# 转化为多项式系数
coefs = np.polyfit(vertices[0], vertices[1], vertices[2], vertices[3])
# 待测试点坐标
point = (2,2)
# 计算该点在多项式中的横坐标和纵坐标
x, y = np.polyval(coefs, point)
# 判断点是否在多边形内
if x == y:
print("point is inside the polygon")
else:
print("point is outside the polygon")