जानवर बल Delaunay त्रिभुज एल्गोरिथ्म जटिलता


16

मार्क डे बर्ग एट अल द्वारा "कम्प्यूटेशनल ज्यामिति: एल्गोरिदम और एप्लिकेशन" पुस्तक में , डेलुनाय त्रिकोणों की गणना के लिए एक बहुत ही सरल जानवर बल एल्गोरिथ्म है। एल्गोरिथ्म अवैध किनारों की धारणा का उपयोग करता है - किनारों जो एक मान्य डेलुनाय त्रिभुज में प्रकट नहीं हो सकते हैं और उन्हें कुछ अन्य किनारों से बदलना होगा। प्रत्येक चरण पर, एल्गोरिथ्म इन अवैध किनारों को ढूंढता है और तब तक आवश्यक विस्थापन करता है (जिसे एज फ्लैप कहा जाता है ) जब तक कि कोई अवैध किनारा न हो।

एल्गोरिथ्म वैधीकरण ( T )

इनपुट । एक बिंदु सेट पी के कुछ त्रिकोणीय आउटपुटपी का एक कानूनी त्रिकोणीय ।TP
P

जबकि में एक अवैध किनारे p i p हैT डू हैpipj

चलो और पी मैं पी जे पी एल के निकट दो त्रिकोण हो पी मैं पीpipjpkpipjplpipj
T से निकालें , और इसके बजाय p k p l जोड़ें । वापसी टीpipjTpkpl
T

मैंने सुना है कि यह एल्गोरिथ्म O ( n) में चलता हैसबसे खराब स्थिति 2 ) समय में; हालाँकि, यह मेरे लिए स्पष्ट नहीं है कि यह कथन सही है या नहीं। यदि हाँ, तो कोई इस ऊपरी सीमा को कैसे प्रमाणित कर सकता है?O(n2)


5
इस रूप में जो आपने ऊपर बताया है वह समय लेता है । हालांकि, एक स्टैक का उपयोग करके इसे ( एन 2 ) समय में किया जा सकता है । आप इन लेक्चर नोट्स में अंतिम पृष्ठ देख सकते हैं । मूल तर्क यह है कि अधिकतम ( n) हो सकता हैO(n3)O(n2) धार झपकती है। (n2)
रिजवानहुड

2
@rizwanhudda: क्यों नहीं यह एक जवाब है?
राफेल

जवाबों:


8

एक Delaunay triangulation को 2d बिंदु सेट के निचले उत्तल पतवार के रूप में माना जा सकता है जो कि उपापचय के लिए उठाया गया है। इस प्रकार, यदि आप अपना 2d पॉइंट सेट लेते हैं और हर बिंदु एक z -ordordinate z i = x 2 i + y 2 1 से असाइन करते हैं , तो निचले उत्तल का प्रक्षेपण x y में हो जाता है(xi,yi)zzi=xi2+y12xy प्लेन में हो जाता है आप Delaunay त्रिकोण प्रदान करता है।

इस परिप्रेक्ष्य का उपयोग करते हुए, किनारे के अवैध होने का क्या अर्थ है ? सबसे पहले, हर त्रिकोणीय टी के लिए हम एक 3 डी (त्रिभुजित) सतह प्राप्त करने के लिए परवलयिक मानचित्र का उपयोग कर सकते हैं जो टी के नीचे प्रोजेक्ट करता है । बेशक, यह सतह आवश्यक रूप से उत्तल नहीं है, अगर यह उत्तल होगा, तो टी डिलायने त्रिकोणाकार होगा। सीधे शब्दों में, धार ( पी आई , पी जे ) सतह की उत्तलता के लिए एक बाधा है, एक अवतल किनारे। इस किनारे को फड़फड़ाते समय हम स्थानीय स्तर पर केवल स्थानीय स्तर पर स्थिति को बदलते हैं। तो 4 बिंदुओं पर नजर डालते हैं(pi,pj)TTT(pi,pj) । 3 डी में वे एक टेट्राहेड्रॉन बनाते हैं, जो चतुर्भुज के नीचे प्रोजेक्ट करता है। के बाद से दो त्रिकोण पी मैं पी जे पी कश्मीर और पी मैं पी जे पी एल अवतल बढ़त को परिभाषित ( पी मैं , पी जे ) , त्रिकोण पी कश्मीर पी एल पी मैं और पी कश्मीर पी एल पी जे एक उत्तल बढ़त को परिभाषित (pi,pj,pk,plpipjpkpipjpl(pi,pj)pkplpipkplpj(pl,pk)। इसलिए, अवैध किनारे को फ़्लिप करना उठाने में उत्तल किनारे द्वारा अवतल किनारे की जगह से मेल खाती है। ध्यान दें कि यह फ़्लिप अन्य उत्तल किनारों को किनारों को मोड़ सकता है।

3D Flip interpretation टिप्पणी: छवि ज्यामितीय रूप से सही नहीं है और इसे केवल एक स्केच माना जाना चाहिए।

चलो फ्लिप के बाद ट्राईऐन्ग्युलेशंस हो। टी की उठाया सतह में " टी की सतह" शामिल है । इसके द्वारा मेरा मतलब है कि यदि आप x y समतल से दो सतहों को देखते हैं तो आप केवल T ang (या त्रिकोण जो दोनों सतहों में हैं) की सतह से त्रिकोण देखते हैं। आप यह भी कह सकते हैं कि की सतह टी ' अधिक मात्रा encloses। इसके अलावा, किनारे ( p i , p j ) अब x y समतल से देखने पर T ′ से प्रेरित सतह को "पीछे" रखता है।TTTxyTT(pi,pj)Txy

(pi,pj)nO(n2)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.