2011-04-13 23 views
12

मैं छेद के साथ जटिल (लेकिन आत्म-अंतरंग) बहुभुज को त्रिभुज करना चाहता हूं, जिससे पॉलीगॉन के अंदर सभी त्रिभुज होते हैं, बहुभुज को पूरी तरह से कवर करते हैं, और डेलाउने त्रिकोण नियमों का पालन करते हैं।डेलयूने छेद के साथ 2 डी पॉलीगॉन त्रिभुज

जाहिर है, मैं सिर्फ सभी बिंदुओं के लिए डेलाउने त्रिकोण बना सकता हूं, लेकिन मुझे डर है कि बहुभुज के कुछ किनारों को परिणामी त्रिकोण में शामिल नहीं किया जाएगा।

तो, क्या ऐसा त्रिकोण संभव है? और यदि हां, तो मैं यह कैसे कर सकता हूं?

बस मामले में - मुझे बहुभुज मध्य अक्ष के अनुमान बनाने के लिए इसकी आवश्यकता है (मुझे आशा है कि यह परिणामी त्रिकोण के सभी परिधि बिंदुओं को जोड़ने के माध्यम से किया जा सकता है)।

+0

लेकिन शिखर (और इस प्रकार इसका डेलाउने त्रिकोण) का सेट यह निर्धारित नहीं करता है कि बहुभुज का छेद है या नहीं। क्या यह आपके लिए महत्वपूर्ण नहीं है? – TonyK

+0

@ टोनीके - मेरे पास अनुक्रमिक लंबवत के कई सेट हैं - एक बाहरी बहुभुज के लिए, और आंतरिक बहुभुज के लिए कई सेट। – Rogach

+0

लेकिन यदि आप 'सभी बिंदुओं के लिए डेल्यूने त्रिभुज का निर्माण' करते हैं, तो आप छेद के अंदर त्रिकोणीय हो जाएंगे। आप इससे कैसे बचेंगे? – TonyK

उत्तर

10

ऐसा लगता है कि आप constrained Delaunay triangulation चाहते हैं। त्रिभुज में अखंड रहने के लिए इनपुट किनारों को बाधित करके "छेद" लागू किया जा सकता है।

कार्यान्वयन के लिए Triangle और poly2tri परियोजनाएं देखें।

+0

बहुत अच्छा लग रहा है! मैं इसे देख लूँगा। – Rogach

+0

हां, बिल्कुल मुझे क्या चाहिए। धन्यवाद! – Rogach

3

आरटीएस गेम के लिए नेविश करते समय मैं यहां आया था। ध्यान दें कि यह homebrew है, कोई तीसरे पक्ष के उपकरणों का उपयोग किया गया, यह मेरे बारे में 3 सप्ताह का समय लगा लागू करने के लिए और बग सुधार:

  1. फ़ीड डेलॉनाय ट्राईऐन्ग्युलेशंस में सभी बिंदुओं (सबसे वर्दी त्रिकोण पाने के लिए)
  2. छेद के साथ चेक रूपरेखा और फ्लिप बहुभुज जोड़े मिलान करने के लिए डेलॉनाय द्वारा उत्पादित की रूपरेखा
  3. क्लिप छेद धर्मशाला

परिणाम (plz बैंगनी रूपरेखा पर ध्यान न दें):

enter image description here

संबंधित मुद्दे