पतित बहुभुज क्या हैं? कोई यह कैसे जांचता है कि दिए गए बहुभुजों की जोड़ी पतित है या नहीं?
पतित बहुभुज क्या हैं? कोई यह कैसे जांचता है कि दिए गए बहुभुजों की जोड़ी पतित है या नहीं?
जवाबों:
एक बहुभुज पतित है अगर इसके कुछ कोने एक दूसरे पर पड़े हैं। जैसे त्रिभुज (0,0), (0,1), (0,0) पतित है। इसके 3 पक्ष हैं, और 3 कोने हैं, लेकिन दो कोने दोहराते हैं। कई बार एक शीर्ष को दोहराना संभव है (उदाहरण के लिए (0,0), (0,0), (0,0) एक और पतित त्रिकोण है)। परिभाषा के अनुसार, यह जांचना कि बहुभुज पतित है या नहीं यह आसान है।
लेकिन पतित बहुभुज के उपयोग क्या हैं? ग्राफिक त्वरण (3 डी ड्राइंग) से एक आवेदन इस प्रकार है:
3 डी ड्राइंग में जीपीयू आमतौर पर छवियों को प्रस्तुत करने के लिए त्रिकोणासन का उपयोग करते हैं। त्रिभुजों का उपयोग करने का सरल (सरल) कारण है क्योंकि वे सरलतम संभव 2 डी ऑब्जेक्ट हैं इसलिए बहुत अधिक हार्डवेयर की आवश्यकता नहीं है।
यदि हम एक जटिल 3D छवि बनाना चाहते हैं, तो इस GPU सीमा के द्वारा, हमें इसे कई त्रिभुजों में विघटित करना होगा। लेकिन अगर हम प्रत्येक त्रिकोण को अलग से प्रस्तुत करने के लिए GPU कहते हैं, तो यह बहुत धीमा होगा (कॉल की संख्या के कारण)। तो त्रिकोण पट्टी का उपयोग GPU की कॉल की संख्या को कम करने के लिए किया जाता है। त्रिभुज स्ट्रिप्स का एक अच्छा विवरण Microsoft दस्तावेज़ीकरण पर पाया जा सकता है : त्रिभुज स्ट्रिप्स , आप इसके लिए विकी भी देख सकते हैं: त्रिभुज पट्टी ।
लेकिन समस्या तब पैदा होती है जब हम दो अलग-अलग वस्तुओं को एक पट्टी में खींचना चाहते हैं। इस मामले में पतित त्रिकोण मदद करते हैं। GPU पतित त्रिकोणों का पता लगा सकता है और उनकी ड्राइंग को छोड़ सकता है। तो हम एक पतित त्रिकोण के साथ दो अलग-अलग स्ट्रिप्स को जोड़ सकते हैं।
सामान्य तौर पर अगर हमारे पास है विभिन्न घटक, जैसे कि हमारे पास पहले से ही उनके त्रिभुज स्ट्रिप्स हैं, हम उन सभी को केवल एक कॉल करके GPU पर आकर्षित कर सकते हैं। यह अतिरिक्त मेमोरी उपयोग का कारण बनता है, लेकिन यह रेंडर करने के लिए GPU के लिए कॉल की संख्या और एक अतिरिक्त, पतित त्रिकोण का उपयोग करने के ओवरहेड के बीच एक व्यापार बंद है।
एक पतित बहुभुज वह है जिसमें शून्य क्षेत्र होता है।
जैसा कि दूसरों ने नोट किया है, यह निर्भर करता है। आम तौर पर, एक बहुभुज गैर-पतित होता है अगर इसमें कोई विषम बिंदु नहीं होता है, लेकिन यह समस्या को एक कदम पीछे ले जाता है; "विसंगति" क्या है?
वास्तविक उत्तर यह है कि बहुभुज पतित है अगर यह विनिर्देश का उल्लंघन करता है। थोड़ा कठोर जवाब है कि एक बहुभुज पतित है अगर यह एक किनारे का मामला है जिसे आपका एल्गोरिथ्म संभाल नहीं सकता है।
यहाँ जीआईएस की दुनिया से एक उदाहरण है। OGC सरल विशेषताएं विशिष्टता क्या एक बहुभुज "वैध" बनाता है की एक बहुत सावधान परिभाषा है। धारा 6.1.11.1 से उद्धृत:
Polygons (मान्य पॉलीगॉन को परिभाषित करने वाले नियम) के दावे इस प्रकार हैं:
क) बहुभुज स्थैतिक रूप से बंद हैं;
बी) बहुभुज की सीमा में लिनियरिंग्स का एक सेट होता है जो इसकी बाहरी और आंतरिक सीमा बनाता है;
सी) सीमा पार में कोई दो रिंग और एक बहुभुज की सीमा में रिंग्स एक बिंदु पर प्रतिच्छेद कर सकते हैं लेकिन केवल स्पर्शरेखा के रूप में, जैसे
;नोट: यह अंतिम स्थिति कहती है कि दो वक्रों के लिए एक बिंदु पर, पास के बिंदु आम नहीं हो सकते। यह प्रत्येक सामान्य बिंदु को स्पर्शरेखा का बिंदु होने के लिए मजबूर करता है।
डी) एक बहुभुज में कट लाइनें, स्पाइक्स या पंचर नहीं हो सकते हैं जैसे: ;
ई) हर बहुभुज का इंटीरियर एक जुड़ा बिंदु सेट है;
च) 1 या अधिक छेद वाले बहुभुज का बाहरी भाग जुड़ा नहीं है। प्रत्येक छेद बाहरी के एक जुड़े घटक को परिभाषित करता है।
उपर्युक्त कथनों में, आंतरिक, बंद और बाहरी में मानक सामयिक परिभाषाएं हैं। (ए) और (सी) का संयोजन एक बहुभुज को एक नियमित बंद बिंदु सेट बनाता है।