1

我在 R^3 中有一组带有欧几里德距离度量的点。我想构建一个图,每个点由一个节点表示,边缘仅在距离 d < r 的点之间,其中 r 是某个截止值。

搜索 stackoverflow 产生了一个有趣的解决方案:计算数据点的 Delaunay 三角剖分,然后删除比阈值距离更长的边。

(来源:3D Connected Points Labeling based on Euclidean distances

还有其他更有效的方法吗?

另外,去除比截止距离长的边缘的有效方法是什么?

如果没有,有人知道 Python 中的 Delaunay 三角测量实现吗?

编辑:别管最后一个问题,matplotlib 可以做三角测量,scipy for 3d。

谢谢。

PS - 有点相关:由于 Delaunay 三角剖分是 Voronoi 图的对偶图,并且 k-means 聚类将空间拆分为 Voronoi 单元,这里描述的方法是否与 k-means 聚类相同(或密切相关)?我是机器学习算法的初学者,所以我希望得到一些专家的反馈。

4

1 回答 1

1

您的结果可能是完整的图表,因此 Delaunay 三角剖分将无济于事。但是您可以使用 kD-Tree。

http://en.wikipedia.org/wiki/K-d_tree

于 2012-08-05T22:04:11.437 回答