确定顶点是否位于一组顶点内

如何确定一个图形是否位于另一个图形中?


我的算法适用于以下矩阵:


import numpy as np


A = np.zeros((9,9))

    for i in np.arange(1,8):

        for j in np.arange(1,8):

            A[i,j] = 1

    for i in np.arange(2,4):

        for j in np.arange(2,4):

            A[i,j] = 2

    print(A)

生成矩阵:


[[-1. -1. -1. -1. -1. -1. -1. -1. -1.]

 [-1.  1.  1.  1.  1.  1.  1.  1. -1.]

 [-1.  1.  2.  2.  1.  1.  1.  1. -1.]

 [-1.  1.  2.  2.  1.  1.  1.  1. -1.]

 [-1.  1.  1.  1.  1.  1.  1.  1. -1.]

 [-1.  1.  1.  1.  1.  1.  1.  1. -1.]

 [-1.  1.  1.  1.  1.  1.  1.  1. -1.]

 [-1.  1.  1.  1.  1.  1.  1.  1. -1.]

 [-1. -1. -1. -1. -1. -1. -1. -1. -1.]]

要创建两个图形:”

http://img1.mukewang.com/63206c14000109c712441023.jpg

开心每一天1111
浏览 100回答 1
1回答

互换的青春

正如Prune所建议的那样,该软件包具有您所需的内容。虽然可以将线循环视为图形,但将它们视为嵌入在 2D 平面中的多边形会更有用。shapely通过从点和边段创建对象,可以使用所有对象都必须测试一个对象是否位于另一个对象内部的方法。Polygoncontainsshapely您需要按顺序对边缘段进行排序。顺时针或逆时针可能无关紧要,因为可能通过在无穷远处构造一个点并确保它是“外部”来检测内部和外部。shapely以下是您帖子中原始正方形对的完整示例:from shapely.geometry import Polygonp1 = Polygon([(0,0), (0,8), (8,8), (8,0)])p2 = Polygon([(2,2), (2,4), (4,4), (4,2)])print(p1.contains(p2))该对象的文档位于 https://shapely.readthedocs.io/en/latest/manual.html#PolygonPolygon以及 https://shapely.readthedocs.io/en/latest/manual.html#object.contains 的方法contains
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python