我在3D中有两点:
(xa, ya, za)
(xb, yb, zb)
Run Code Online (Sandbox Code Playgroud)
我想计算距离:
dist = sqrt((xa-xb)^2 + (ya-yb)^2 + (za-zb)^2)
Run Code Online (Sandbox Code Playgroud)
使用NumPy或Python的最佳方法是什么?我有:
a = numpy.array((xa ,ya, za))
b = numpy.array((xb, yb, zb))
Run Code Online (Sandbox Code Playgroud) 找到数据数组中给定点的最近点的最快方法是什么?
例如,假设我有一个A3D点阵列(像往常一样坐标x,y和z)和点(x_p,y_p,z_p).如何找到A(x_p,y_p,z_p)中的最近点?
据我所知,最慢的方法是使用线性搜索.还有更好的解决方案吗?
可以添加任何辅助数据结构.
我有一个 numpy.ndarray 的 3d 点,即它的 np.shape 是 (4350,3) 和这样的第二个 numpy.ndarray 的 3d 点的 np.shape (10510,3)。现在我试图找到正确的 python 包来尽快计算第一个数组中点的第二个数组中的最近邻居。
我在这里发现了一个非常相似的问题:使用 python numpy 在 3d 空间中找到一个点的 k 个最近邻点, 但我不明白如何在那里使用解决方案来解决我的问题。
我非常非常感谢你在这方面的帮助!
对于N点列表,[(x_1,y_1), (x_2,y_2), ... ]我试图根据距离找到每个点的最近邻居.我的数据集太大而无法使用蛮力方法,所以KDtree看起来最好.
而不是从头开始实现一个,我看到sklearn.neighbors.KDTree 可以找到最近的邻居.这可以用来找到每个粒子的最近邻居,即返回一个dim(N)列表吗?