二维最接近坐标的算法
|
我知道我做错了,但无法想出解决此问题的正确方法。
我正在使用下面列出的12点。
(1,2)(1,11)(7,8)(9,9)(12,13),(13,4),(20,8),(22,3),(23,12), (24,14),(26,7),(31,10)
我将其分为两个子集
左=(1,2)(1,11)(7,8)(9,9)(12,13),(13,4)
右=(20,8),(22,3),(23,12),(24,14),(26,7),(31,10)
进一步削减
LLeft =(1,2,(1,11)(7,8)
RLeft =(9,9)(12,13),(13,4)
LRight =(20,8),(22,3),(23,12)
RRight =(24,14),(26,7),(31,10)
在每组上找到最小距离。
LLeft(1,2)(1,11)为9,(1,11)(7,8)为6.7,(1,2)(7,8)为8.48
最小值是6.7
RLeft(9,9)(12,3)为6.70,(9,9)(13,4)为6.4,(12,3)(13,4)为1.14
最小值是1.14
LRight(20,8)(22,3)为5.38(20,8)(23,2)为5,(22,3)(23,12)为9.05
最小是5
右(24,14)(26,7)为7.28(24,14)(31,10)为8.06(26,7)(31,10)为5.83
最小值是5.83
所以现在我有了LLeft,RLeft,LRight和RRight。我需要找到的是LRLeft,RLLEft_Right(中间的值)和LRRight。这就是我感到困惑的地方。我想到LRLeft的唯一方法是获取LLeft和RLEft中的每个点,然后找出两者之间的距离。然后使用该距离并将其与LLeft和RLeft进行比较,这将使我在左侧两点之间的距离最短。然后,我对右侧和中央执行相同操作。我敢肯定,有一种更快更好的方法,但是我无法弄清楚。
没有找到相关结果
已邀请:
1 个回复
净爽
和
,那么如果有一对较近的点-其中一个是从左边的集合开始,从右边的集合开始,那么我们只需要检查距离分界线
以内的点,where3ѭ。