1

在 Matlab 中,我可以使用函数 DelaunayTri 和nearestNeighbors 来找到最近的点。像这样的代码:

X1=[1,2,3,4,5,6,7]';
Y1=[1.3,1.5,1.7,1.9,2.1,2.3,2.5]';
Triangulation=DelaunayTri(Y1, X1);

X2=[1.5,2.5,3.5,4.5,5.5]';
Y2=[1.2,2.2,3.2,4.2,5.2]';
NearInd = nearestNeighbor(Triangulation, Y2, X2);
NearPoint = [X1(NearInd), Y1(NearInd)];

我应该在 Python 中使用什么函数来获得相同的结果?

4

1 回答 1

0
  1. 您可以使用该scipy.spatial.Delaunay模块进行三角测量。
  2. 但是要查询最近的邻居,您可能必须使用scipy.spatial.cKDTree. 这与三角测量是分开的。
  3. 这里还有可用于 python的CGAL绑定。但如果您还不熟悉 CGAL,可能会有一些学习曲线。
  4. 然后还有用于 Python 的 OpenCV示例,仅用于三角测量。
  5. 还有PyHull的 Python 绑定Qhull。但同样我在任何地方都看不到邻居搜索。
  6. scikit-learn也有邻居搜索,但没有三角测量。
于 2018-07-03T15:30:10.680 回答