2012-09-25 205 views
7

我已经在Javascript中使用了二维k-d treecheck it out on GitHub),我将它用于D3旁边的最近邻居搜索。D3中的最近邻居搜索

我了解到D3中有a quadtree implementation,但也发现API文档很少,Google搜索功能也不够丰富。如果可能的话,我宁愿使用旅行图书馆,而不是我自己的改造过的图书馆。

如何执行最近邻搜索使用D3的四叉树?通过最近的邻居,我的意思是:

  • 填充与2维穴四叉树
  • 搜索所包含的四叉树点最接近的一个新的点并不一定在四叉树存在
+0

出于好奇而已否则,你用什么JS KD树? –

+0

@Sajjan我有 s在和鼠标移动鼠标位置最近的圆圈突出显示。由于在二维K-D树中的最近邻居搜索是O(log n),所以它非常平滑和可扩展。 –

+0

酷!是否有可能分享你的代码(除非它是私有的或私有的),我想我可以从中学到很多东西。 –

回答

4

刷牙演示实际上并没有找到最近的邻居,而是找到了包含在给定矩形中的四叉树点。 (尝试刷一个空的矩形,它不一定参观其最近的邻居。)

我分叉能够有效地发现,四叉树到任意点的近邻的例子 - 见http://bl.ocks.org/patricksurry/6478178