gpt4 book ai didi

python - Python中如何判断一个多边形是否在另一个多边形内?

转载 作者:行者123 更新时间:2023-12-03 21:19:30 27 4
gpt4 key购买 nike

我需要定义一个 Python 函数,它可以检测凸多边形(多边形 a)是否在另一个多边形(多边形 b)内。

给出了每个多边形的顶点。

(仅使用基本库以及 numpy)

人类很容易用眼睛做出判断。但我不知道如何在 Python 中描述该方法。我试图检查 lib 的一些源代码(如 shapely),但无法理解它是如何工作的。
'''

def isinside(polya, polyb):
#Polya: [(x1,y1), (x2,y2), (x3,y3),...]
#Polyb: [(x1,y1), (x2,y2), (x3,y3),...]
#if polya inside polyb
return True
# else
return False

'''
有人可以提供一些建议或显示一些代码吗?谢谢!

最佳答案

您可以使用 shapely库为此。它会像

from shapely.geometry import Polygon

polya = Polygon([(0, 0), (0, 1), (1, 1), (1, 0)])
polyb = Polygon([(0.5, 0.5), (0.5, 0.8), (0.8, 0.8), (0.8, 0.5)])

polya.contains(polyb)
# True

这个模块对大多数几何相关的操作有更多的了解,所以请引用 their User Manual进一步的例子和详尽的解释。

关于python - Python中如何判断一个多边形是否在另一个多边形内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55840924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com