微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在寻求有关工作流程的帮助,该工作流程在给定 (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 举报,一经查实,本站将立刻删除。