找到所有坐标点之间的成对距离,用共线点过滤距离

问题描述

我正在寻求有关工作流程的帮助,该工作流程在给定 (x,y) 平面中的任意数量的点的情况下,可以找到连接 2 个(且仅 2 个)点的所有线段。我的第一个想法是使用 scipy.spatial.distance.pdist() 获得所有唯一的成对距离,然后对于两点之间的每个距离,测试其他任何点是否共线。我可以想象这种方法在处理大量点时会变得效率低下,所以我想知道是否有人知道解决这个问题的更有效方法

这个问题很笨拙,所以我将提供一个例子。我有一个包含 3 个 (x,y) 坐标点 coords = [(1,1),(2,(3,1)] 的列表,它们恰好形成一条直线,并且想要找到连接 2 个(并且只有 2 个)点的所有线段的长度。对于此示例,我只有两条长度为 1 的线段符合我的条件(从 (1,1)(2,1),以及 (2,1)(3,1))。我可以使用 scipy.spatial.distance.pdist() 获得点之间的所有成对距离,但该函数的结果包括 (1,1)(3,1)间的距离,这是我不想要的。

我的首选语言是 Python,但我愿意接受其他编码语言的答案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)