2010-05-12 22 views
6

में ओवरलैपिंग त्रिकोणों को मर्ज करें मुझे एक 3 डी विमान में अनुमानित 3 डी मॉडल से ओवरलैपिंग त्रिकोणों का एक गुच्छा मिला है। मुझे टचिंग त्रिकोणों के प्रत्येक द्वीप को एक बंद, गैर-उत्तल बहुभुज में विलय करने की आवश्यकता है।पॉलीगॉन

परिणामी बहुभुज उन्हें किसी भी छेद नहीं होना चाहिए (स्रोत डेटा नहीं है के बाद से)।

स्रोत त्रिकोण शेयर में से कई (चल बिन्दु समान) स्रोत डेटा में अन्य त्रिकोण के साथ किनारों।

ऐसा करने का सबसे आसान तरीका क्या है? प्रदर्शन विशेष रूप से महत्वपूर्ण नहीं है, क्योंकि यह डिजाइन समय पर किया जाएगा।

+1

भी देखें "जटिल बहुभुज की संघ": http://stackoverflow.com/questions/2667748/union-of-complex-polygons – unutbu

उत्तर

2

gpc प्रयास करें, या सामान्य बहुभुज क्लिपर लाइब्रेरी।

+0

दुर्भाग्य से इस एक वाणिज्यिक खेल में उपयोग किया जाएगा; सुनिश्चित नहीं है कि UManchester इसके बारे में कैसा महसूस करेगा। – nornagon

+1

जीपीसी के पास एक वाणिज्यिक लाइसेंस भी है। इसके अलावा, जीपीसी http://www.cs.man.ac.uk/~toby/alan/software/#Links पर अन्य समान पुस्तकालयों को सूचीबद्ध करता है। शायद उनमें से एक के पास एक अधिक उपयुक्त लाइसेंस है। – lhf

2

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

सिल्हूट, बदले में, मॉडल में किनारों का एक सेट है। सिल्हूट में प्रत्येक किनारे के लिए, आसन्न चेहरों में मानक होंगे जो या तो विमान से या विमान की ओर इंगित करते हैं। आप यह सामान्य रूप से सामान्य विमान के साथ सामान्य चेहरे के डॉट उत्पाद को ले जा सकते हैं - किनारों के लिए देखो जिनके आसन्न चेहरे के मानक में प्रक्षेपण दिशा के विपरीत विपरीत संकेतों के डॉट उत्पाद हैं।

बार जब आप सभी सिल्हूट किनारों आप इच्छित बहुभुज की सीमाओं में एक साथ उन्हें शामिल कर सकते हैं मिल गया है।

आमतौर पर, आप mesh silouette finding detection जैसे शब्दों googling द्वारा रूपरेखा का पता लगाने और निकासी के बारे में अधिक जानकारी प्राप्त कर सकते हैं। शायद शुरू करने के लिए एक अच्छी जगह here है।

+0

यह काफी पर्याप्त नहीं है - एक के लिए, मेरे पास कई मॉडल पार्ट्स हैं जिनके अनुमान ओवरलैप हैं। – nornagon

+0

@ नोमागोन, अच्छा बिंदु। इसके अलावा, क्या आपके मॉडल बंद हैं? अर्थात। क्या उनके अंदर एक बाहरी और बाहर एक गोलाकार या टोरस है? या वे सिर्फ एक सामान्य बहुभुज सूप हैं? – brainjam

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