确定n维点之间的距离
-
19-09-2019 - |
题
我建立一个MySQL表列出在n维点,每个尺寸被索引。鉴于该n维系统中的任何一点,我想是能够输出所有其他各点的在从所选择的点的距离的顺序。
一个简单的解决方案是计算使用勾股定理... SQRT(X ^ 2 + Y ^ 2)= z的各点的距离。我一直在寻找更有效的方法。仅需要一个大致顺序,所以我很开朗。
感谢。
-diddle
解决方案
随着一直给什么,你也可以考虑“分档”你的观点 - 即(至少精神上)绘制一个网格在你的“地图”,并跟踪此基础上方形他们落入点。基本上,你在同一个广场与点开始,那么那些在“环”周围的选择点的广场,那么接下来的环向外,等等。根据您使用网格的大小,可以让这个大约为精确的或近似的,只要你喜欢。当然,二维网格是2D点 - 如果有更多的维度,你就必须加大电网相匹配的维度
其他提示
对于这样的事情的一种常用方法是考虑的平方距离而非实际距离,消除了平方根,但是,如果我理解正确的问题,你不需要从获取的实际距离你指数。在这种情况下你可以只使用各成分的绝对值的总和。
不隶属于 StackOverflow