2012-09-25 68 views
7

में निकटतम पड़ोसी खोज मैंने जावास्क्रिप्ट (check it out on GitHub) में 2-आयामी k-d tree लागू किया है, और मैं D3 के साथ निकटतम पड़ोसी खोजों के लिए इसका उपयोग कर रहा हूं।डी 3

मैंने सीखा कि डी 3 में a quadtree implementation है, लेकिन यह भी पता चला कि एपीआई दस्तावेज स्पैस है और Google खोज उपयोगी नहीं हैं। जब संभव हो तो मैं अपने स्वयं के पुनर्निर्मित पहिया की तुलना में एक अच्छी तरह से यात्रा पुस्तकालय का उपयोग करूंगा।

आप एक निकटतम पड़ोसी खोज डी 3 के quadtree का उपयोग कर कैसे करते हैं? निकटतम पड़ोसी करके, मेरा मतलब है:

  • 2-आयामी अंकों के साथ quadtree आबाद
  • को नए बिंदु पर quadtree निहित बिंदु करीबी के लिए
  • खोजें जरूरी है कि quadtree में मौजूद नहीं है
+0

जिज्ञासा और कुछ भी नहीं से बाहर अन्यथा, आप जेएस केडी ट्री का उपयोग किसके लिए कर रहे हैं? –

+0

@Sajjan I एस में है और माउस स्थिति के निकट सर्कल mousemove पर हाइलाइट किया गया है। यह बहुत चिकनी और अच्छी तरह से तराजू है क्योंकि निकटतम पड़ोसी खोज 2 आयामी के-डी पेड़ में ओ (लॉग एन) हैं। –

+0

कूल! क्या आपका कोड साझा करना संभव होगा (बेशक यह स्वामित्व या निजी नहीं है), मुझे लगता है कि मैं इससे बहुत कुछ सीख सकता हूं। –

उत्तर

4

ब्रशिंग डेमो वास्तव में निकटतम पड़ोसी नहीं ढूंढता है, बल्कि किसी दिए गए आयत में निहित क्वाड्री पॉइंट पाता है। (एक खाली आयत brushing की कोशिश करो और यह जरूरी अपने निकटतम पड़ोसियों की यात्रा नहीं करता है।)

मैं एक उदाहरण है कि कुशलता से एक मनमाना बात करने के लिए quadtree में निकटतम पड़ोसी पाता काँटेदार - देख http://bl.ocks.org/patricksurry/6478178