繁体   English   中英

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

[英]How to judge if a polygon is inside another polygon in Python?

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

给出每个多边形的顶点。

(只使用基本库以及numpy)

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

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 lib。 它会像

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

该模块在大多数几何相关操作中有更多功能,因此请参阅其用户手册以获取更多示例和详尽说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM