2012-09-25 63 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