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

2024-07-08 16:46:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

(只使用basic lib和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

''' 有人能给我一些建议或出示一些代码吗?谢谢!在


Tags: 函数return定义lib多边形x1x2顶点
1条回答
网友
1楼 · 发布于 2024-07-08 16:46:36

您可以使用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以获得更多的示例和透彻的解释。在

相关问题 更多 >

    热门问题