मान लें कि मेरे पास एक 2 डी मेष है जिसमें त्रिकोण , और बिंदुओं का एक सेट । यह निर्धारित करने का सबसे अच्छा तरीका है कि प्रत्येक अंक किस त्रिकोण में निहित है?
उदाहरण के लिए, निम्न छवि में हमारे पास , , , तो मैं एक समारोह चाहते हैं कि रिटर्न सूची ।
मतलाब में फंक्शन पॉइंटलोकेशन होता है, जो मुझे डेलौने मेशेस के लिए चाहिए होता है, लेकिन यह सामान्य मेश के लिए असफल होता है।
मेरा पहला (गूंगा) विचार है, सभी नोड्स के लिए , सभी त्रिकोणों के माध्यम से लूप यह पता लगाने के लिए कि कौन सा त्रिकोण है। हालांकि, यह बेहद अक्षम है - आपको हर बिंदु के लिए प्रत्येक त्रिकोण के माध्यम से लूप करना पड़ सकता है, इसलिए यह हो सकता है। ले काम करते हैं।
मेरा अगला विचार यह है कि सभी बिंदुओं , निकटतम पड़ोसी खोज के माध्यम से निकटतम जाल नोड को ढूंढें, फिर उस निकटतम नोड से जुड़े त्रिकोण के माध्यम से देखें। इस मामले में, काम हो जाएगा हे ( एक ⋅ एम ⋅ एल ओ जी ( एन ) ) है, जहां एक जाल में किसी भी नोड से जुड़ी त्रिकोण की अधिकतम संख्या है। इस दृष्टिकोण के साथ कुछ हल करने योग्य लेकिन कष्टप्रद मुद्दे हैं,
- इसके लिए एक कुशल निकटतम-पड़ोसी खोज (या एक पुस्तकालय है जो यह है) को लागू करने की आवश्यकता है, जो एक nontrivial कार्य हो सकता है।
- इसके लिए प्रत्येक नोड से जुड़े त्रिभुजों की एक सूची संग्रहीत करने की आवश्यकता होती है, जो मेरा कोड वर्तमान में सेट नहीं है - अभी अभी नोड निर्देशांक की एक सूची और तत्वों की एक सूची है।
कुल मिलाकर यह असंगत लगता है, और मुझे लगता है कि एक बेहतर तरीका होना चाहिए। यह एक ऐसी समस्या होनी चाहिए जो बहुत अधिक उत्पन्न होती है, इसलिए मैं सोच रहा था कि क्या कोई यह खोजने के लिए सबसे अच्छा तरीका सुझा सकता है कि नोड्स क्या त्रिकोण हैं, सैद्धांतिक रूप से या उपलब्ध पुस्तकालयों के संदर्भ में।
धन्यवाद!