3 डी बिंदुओं के सेट के लिए सबसे तेज Delaunay त्रिभुज पुस्तकालय


26

यदि 3 डी अंक के साथ लाखों लोगों के सेट के विलंबित त्रिकोणासन के लिए सबसे तेज़ पुस्तकालय कौन सा है? क्या GPU संस्करण भी उपलब्ध हैं? दूसरी तरफ से, एक ही सेट के वोरोनोई टेसलेशन होने से, डेलॉना ट्रायग्यूलेशन प्राप्त करने के लिए (प्रदर्शन के मामले में) मदद मिलेगी?


क्या आपने CGAL और TRIANGLE सॉफ्टवेयर्स में कार्यान्वयन की कोशिश की है? दोनों में एल्गोरिदम शामिल हैं, जो (सैद्धांतिक रूप से) सबसे तेज़ उपलब्ध हैं (यद्यपि समानांतर में नहीं)। O(nlog(n))
पॉल

जोनाथन श्वाचुक के पास 2 डी के लिए एक स्ट्रीमिंग संस्करण भी है जो हास्यास्पद रूप से बड़े डेटासेट को संभाल सकता है यदि आप अपनी स्ट्रीम में कुछ अतिरिक्त डेटा जोड़ सकते हैं। आप इसके लिए क्या उपयोग कर रहे हैं?
विक्टर लियू

जवाबों:


13

त्रि-आयामी डेलुनाय त्रिकोणीयकरण (टेट्राहेड्रलियलाइज़ेशन, वास्तव में) की गणना के लिए , TetGen एक आमतौर पर उपयोग की जाने वाली लाइब्रेरी है।

आपकी सुविधा के लिए, यहां एक छोटा बेंचमार्क है कि यूनिट क्यूब से कई यादृच्छिक बिंदुओं के terehedralization की गणना करने में कितना समय लगता है। 100,000 अंकों के लिए एक पुराने पेंटियम एम पर 4.5 सेकंड लगते हैं।

गणितज्ञ ग्राफिक्स

(यह Mathematica के TetGen इंटरफ़ेस के साथ किया गया था। मुझे नहीं पता कि यह कितना ओवरहेड का परिचय देता है।)

अपने अन्य प्रश्न के बारे में: यदि आपके पास पहले से ही वोरोनोई टेसलेशन है, तो डेलुनाय ट्राइंगुलेशन प्राप्त करना अपेक्षाकृत सरल परिवर्तन है


10

gStar4D GPU के लिए एक तेज़ और मज़बूत 3D Delaunay एल्गोरिथ्म है। इसे CUDA का उपयोग करके कार्यान्वित किया गया है और यह NVIDIA GPU पर काम करता है।

GPU-DT के समान , यह एल्गोरिथ्म पहले 3D डिजिटल वोरोनोई आरेख का निर्माण करता है। हालांकि, 3 डी में यह सामयिक और ज्यामितीय समस्याओं के कारण एक त्रिभुज को दोहरा नहीं किया जा सकता है। इसके बजाय, gStar4D इस चित्र से पड़ोस की जानकारी का उपयोग करता है ताकि 4D को उठाए गए सितारों को बनाया जा सके और GPU पर कुशलता से उन पर स्टार स्पलैइंग करता है। इस से निचले पतवार को निकालने से, 3 डी डेलुनाय त्रिभुज प्राप्त होता है।

सबसे तेज़ 3 डी डेलॉने कार्यान्वयन gDel3D है , जो एक हाइब्रिड GPU-CPU एल्गोरिथ्म है।

यह GPU पर समानांतर सम्मिलन और फ़्लिपिंग करता है। परिणाम Delaunay के करीब है। यह तब सीपीयू पर एक रूढ़िवादी सितारा विभाजन विधि का उपयोग करके इस परिणाम को ठीक करता है।

ये दोनों विधियां मजबूत हैं, इसलिए वे किसी भी प्रकार के पतित इनपुट को संभाल सकते हैं। वे लाखों बिंदुओं को संभाल सकते हैं, यदि आपके पास मध्यवर्ती डेटा संरचनाओं को रखने के लिए जीपीयू मेमोरी काफी बड़ी है।

प्रकटीकरण: मैं इन एल्गोरिदम और कार्यान्वयन के लेखक हूँ :)


SciComp.Se, अश्विन में आपका स्वागत है! पूर्ण प्रकटीकरण के हित में, आपको यह जोड़ना चाहिए कि आप इस सॉफ़्टवेयर के लेखक हैं (देखें meta.scicomp.stackexchange.com/a/342/1804 )।
ईसाई क्लैसन

3

जैसा कि ऊपर सुझाया गया है, मैं CGAL http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Triangulation_3/Chapter_main.html#Section_39.2 आज़माने की सलाह दूंगा । सीजीएएल एक मजबूत और अच्छी तरह से समर्थित पुस्तकालय है जो लगभग कुछ समय से है। मैंने इसे अतीत में सह-रैखिक और सह-योजना बिंदुओं के साथ बिंदु सेट पर भी खुशी से उपयोग किया है। मुझे नहीं पता कि यह आज सबसे तेज़ है, लेकिन निश्चित रूप से यह एक अच्छी जगह है।

ऊपर दिए गए लिंक में कुछ प्रदर्शन संख्याएँ भी शामिल हैं: यह लगभग 10 सेकंड में एक मिलियन अंक और लगभग 1.5 मिनट में 10 मिलियन कर सकता है।


इसके अलावा, क्या आप इसका विस्तार कर सकते हैं कि आप इसकी सिफारिश क्यों करते हैं? क्या आपके पास इसके साथ अनुभव है?
गॉड्रिक सीर जूल

1

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


1

आप उस भौगोलिक सॉफ़्टवेयर को आज़मा सकते हैं जिसे मैं विकसित कर रहा हूं: http://alice.loria.fr/software/geogram/doc/html/index.html

इसमें एक समानांतर एल्गोरिदम है जो एक इंटेल कोर I7 पर 19 सेकंड से भी कम समय में 14 मिलियन वर्टिकल के DT की गणना करता है (1 मिलियन वर्टिकल के लिए यह लगभग 0.8 s लेता है)


SciComp.SE में आपका स्वागत है! पूर्ण प्रकटीकरण के हित में (और यह दिखाने के लिए कि आप जानते हैं कि आप किस बारे में बात कर रहे हैं), आपको यह उल्लेख करना चाहिए कि आप इस सॉफ़्टवेयर के डेवलपर हैं।
क्रिश्चियन क्लैसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.