2

我在一组点上使用 Delaunay 三角剖分,试图以规则模式隔离点簇。

我第一次使用 qhull.Delaunay 对象的经验,请多多包涵……

from scipy.spatial import Delaunay
tri = Delaunay(array)

目前看起来像:

德劳内输出

我发现我可以print (tri.simplices)得到这份清单。我只想隔离那些明显集群中的那些,我想这可以通过删除那些行长或体积超过某个阈值的那些来完成,但我不确定如何操纵结果来做到这一点?

4

1 回答 1

2

找到答案 - 发布以防对其他人有用。

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
于 2017-02-02T14:22:24.363 回答