我在R ^ 3中有一个带有欧几里德距离度量的点集合。我想构建一个图表,其中每个点由一个节点表示,并且仅在距离d <1的点之间的边缘。 r,其中r是一些截止值。
搜索stackoverflow产生了一个有趣的解决方案:计算数据点的Delaunay三角剖分,然后去除长于阈值距离的边。
(来源:3D Connected Points Labeling based on Euclidean distances)
还有其他方法可以提高效率吗?
此外,什么是去除比截止距离更长的边缘的有效方法?
如果没有,有没有人知道Python中的Delaunay三角测量实现?
编辑:没关注最后一个问题,matplotlib可以做三角测量,scipy为3d。
感谢。
PS - 有点相关:由于Delaunay三角剖分是Voronoi图的双重图,并且k均值聚类将空间分割成Voronoi单元,这里描述的方法是否与k均值聚类相同(或密切相关)?我是机器学习算法的初学者,所以我希望得到一些专家的反馈。答案 0 :(得分:1)
您的结果可能是完整的图表,因此Delaunay三角测量无效。但是你可以使用kD-Tree。