2011-08-07 23 views
6

मैं here वर्णित अनुसार कुछ झुकाव सिमुलेशन करना चाहता हूं।2 डी चलती बिंदुओं के लिए निकटतम पड़ोसी खोज

इसके लिए मुझे अपने प्रत्येक 2 डी अंक के निकटतम पड़ोसियों की खोज करने की आवश्यकता है। हालांकि, मैं एक के-डी पेड़ की तरह एक स्थिर डेटा संरचना का उपयोग नहीं कर सकता क्योंकि अंक हमेशा चल रहे हैं ...

यह एक अच्छा (आसान) डेटास्ट्रक्चर/लाइब्रेरी क्या है जो इसे प्राप्त करने में सक्षम है? मैं सी ++ के साथ काम कर रहा हूं ...

+0

आपको http://stackoverflow.com/questions/6871682/approximate-nearest-neighbour-algorithm-for-moving-body –

उत्तर

1

शायद आप क्वाड्री या स्थानिक इंडेक्स को आजमा सकते हैं? के-डी पेड़ के साथ क्या समस्या है? असल में जब किनारे/अंक किनारे होते हैं तो आप किनारों के साथ टकराव की जांच छोड़ सकते हैं। एक स्थानिक सूचकांक एक क्वाड्री, आर-पेड़, केडी-पेड़ या हिल्बर्ट आर-पेड़ हो सकता है। एक बेहतर उत्तर यहां पढ़ा जा सकता है: Approximate, incremental nearest-neighbour algorithm for moving bodies

"यही है," दुनिया "को चार उपनोडों के साथ एक ग्राफ में दोहराया गया है। पेड़ फिर से जांच कर सकता है कि कौन सी वस्तुएं दुनिया के किसी विशेष वर्ग के अंदर हैं और त्यागें आराम करें। गेम में टक्कर का पता लगाने के प्रदर्शन में सुधार के लिए अक्सर एक बहुत प्रभावी कूलिंग तकनीक का उपयोग किया जाता है। "

+0

से कुछ विचार मिल सकते हैं क्या कोई केडी पेड़ नहीं है (या उस मामले के लिए क्वाड्री) स्थिर? मतलब है कि सभी बिंदुओं के बाद, आपको प्रत्येक चरण में इसे पुनर्निर्माण करना होगा? –

+0

क्वाड्री का विचार 2 डी जटिलता को 1 डी जटिलता में कम करना है। जब आप रिकर्सिवली पेड़ की गहराई को पार करते हैं-पहले या चौड़ाई-पहले यह पूरे पेड़ को भरने का एक आसान काम बन जाता है? – Bytemain

+0

मुझे लगता है कि एक क्वाड्री काम करेगा, तरह। हालांकि, बस सभी पड़ोसियों के माध्यम से पुनरावृत्ति मेरे लिए पर्याप्त तेज़ लग रहा था ... –

3

लोगों को studied इस समस्या है। इस कीवर्ड में काम की तलाश करते समय महत्वपूर्ण कीवर्ड गतिशील है।