当它们彼此靠近时将点分组

Max*_*xym 7 algorithm

我有2d点(x,y)和浮点坐标,当我绘制它们时,如果它们彼此接近,我需要对点进行分组,并且它们应该在有固定大小的矩形的帮助下进行分组.问题是这些矩形不应该相交,所有点邻居都应该分组.
如果附近有纸,可以绘制一个大矩形,例如4*5cm - 所有点所在的区域.现在随机放点,比方说,如果有距离为1厘米的点 - 它们应该分组为矩形2*3.

我找不到算法如何制作它,性能也很重要......我寻找嵌套,聚类但我需要的是有点不同.顺便说一句,如果某些分组矩形必须超出公共区域以适应条件,那就让它成为现实,这不是问题.例如,您有4*5区域和积分

(1,0), (2,1), (4,1), (4,3), (2,4) 
Run Code Online (Sandbox Code Playgroud)

然后结果应该是rectangles (0,0 - 3,2) & (3,1 - 6,3) and one point left (2,4)因为所有其他点都被分组,这一点现在没有任何邻居.
我的点坐标不是整数而是浮点数,点数可以是几百(最多500).而且我不想在相同的矩形上打破区域并且只计算有多少点,我的意思是例如上面我可以制作反角(0,0 - 3,2),(3,0 - 6,2) ,(0,3 - 3,6),(3,3 - 6,6)并且只是总结第一个矩形的第2点,第二个是(!),第二个是什么意思,保留原样,1表示第3个,1表示第4个=>根据任务,将绘制一个矩形并且所有其他点=>错误结果.有任何想法吗?至少哪些算法可以帮助,在哪里寻找......

PS现在结果中的组/点数无关紧要,例如上面的另一个允许结果可能是(1,0-4,2)和(2,2-5,4)矩形,没有剩下的点

msw*_*msw 1

一般问题是“最近邻”搜索。解决方案计算困难(时间复杂度)。对人类来说相当简单的任务在计算上却并不那么容易。