相关疑难解决方法(0)

在没有for循环的情况下计算Python中点数组到线段之间的欧几里德距离

我正在寻找一个函数来计算具有两个坐标 (x, y) 和线段的 numpy 点数组之间的欧几里得距离。我的目标是在 0.01 秒内获得线段和 10k 点的结果。

我已经找到了一个单点函数。但是运行 for 循环非常低效。

我还发现了这个计算到无限线距离的函数:

def line_dists(points, start, end):
    if np.all(start == end):
        return np.linalg.norm(points - start, axis=1)

    vec = end - start
    cross = np.cross(vec, start - points)
    return np.divide(abs(cross), np.linalg.norm(vec))
Run Code Online (Sandbox Code Playgroud)

它非常有效,我想对有界线采用类似的方法。

感谢您的帮助。

python geometry numpy euclidean-distance

5
推荐指数
1
解决办法
1746
查看次数

3d空间中点到线的最短距离

我正在尝试使用 numpy 或 python 中的任何东西找到从点 (x0,y0,z0) 到由 (x1,y1,z1) 和 (x2,y2,z2) 连接的线的最小距离。不幸的是,我在网上能找到的所有内容都与 2d 空间有关,而且我对 python 还很陌生。任何帮助将不胜感激。提前致谢!

python 3d numpy vector distance

2
推荐指数
1
解决办法
3727
查看次数

标签 统计

numpy ×2

python ×2

3d ×1

distance ×1

euclidean-distance ×1

geometry ×1

vector ×1