我在一组点上使用Delaunay三角剖分,试图以规则模式隔离点集群。
我第一次使用qhull.Delaunay对象的经历让我忍受......
from scipy.spatial import Delaunay
tri = Delaunay(array)
目前看起来像:
我发现我可以print (tri.simplices)
获取列表。我想只隔离明显集群中的那些,我想这可以通过删除线长或体积超过某个阈值的那些来完成,但我不确定如何操作结果来做到这一点?
答案 0 :(得分:0)
找到答案 - 发布以防其他人有用。
Delaunay输出为您提供每个点的坐标列表,以及一个嵌套列表,其中三个点构成每个三角形。
要访问他们的区域,首先将其转换为Shapely多边形列表,然后您的多边形就是您的牡蛎。
from shapely.geometry.polygon import Polygon
coord_groups = [tri.points[x] for x in tri.simplices]
polygons = [Polygon(x) for x in coord_groups]
#area of the first polygon
polygons[0].area