2011-08-11 20 views
6

मैं सी ++ (या सी ++ 0x) के साथ 3 डी डेटा प्रोसेस करने के लिए नया हूं और मैं सरल एप्लिकेशन लिखने की कोशिश कर रहा हूं, जो इस तरह के डेटा (मॉडल, सबडिवाइड इत्यादि) को संसाधित करने की अनुमति देगा। मैं '3 डी ज्यामिति इंजन' जैसे कुछ खोज रहा हूं - इंजन जो स्मृति में 3 डी ज्यामिति को प्रभावी ढंग से संभालता है और एपीआई को अपने componens (vertexes, अंक, बहुभुज (न केवल त्रिभुजों), vertexes के गुण, आदि को संशोधित करने देता है)। मैं ऐसा कुछ खोज रहा था, लेकिन भाग्य के बिना। क्या आप किसी भी (सर्वश्रेष्ठ ओपन-सोर्स) 3 डी ज्यामिति इंजन की सिफारिश कर सकते हैं, जिसमें कोई एपीआई होगा, अगर कोई इंजन स्वतंत्र रूप से उपलब्ध है?3 डी ज्यामिति इंजन

धन्यवाद।

+1

जैसा कि आप यहां नए हैं, स्वीकृति और अप-वोट सुविधाओं के बारे में स्वयं को सूचित करना सुनिश्चित करें। –

+0

मैं एक से अधिक उत्तरों को सही के रूप में नहीं चुन सकता? तो अभी मुझे इन 2 पुस्तकालयों की गहराई से जांच करनी है - ओपनमेश और सेगेओ यह देखने के लिए कि कौन सा बेहतर है, डिज़ाइन किया गया है। मैं अंडरस्टैंड करता हूं कि उनमें से दोनों में समान पॉली प्रसंस्करण विशेषताएं हैं, लेकिन मुझे आश्चर्य है कि उनमें से कौन सा बेहतर "डिज़ाइन किया गया" –

उत्तर

3

आप http://pointclouds.org/ को आजमा सकते हैं।

वेबसाइट के मुताबिक: प्वाइंट क्लाउड लाइब्रेरी (या पीसीएल) बिंदु क्लाउड प्रोसेसिंग के लिए एक बड़े पैमाने पर, खुली परियोजना है।

पीसीएल ढांचे में फ़िल्टरिंग, फीचर अनुमान, सतह पुनर्निर्माण, पंजीकरण, मॉडल फिटिंग और सेगमेंटेशन सहित कई अत्याधुनिक कला एल्गोरिदम शामिल हैं।

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

+0

यदि मैं अच्छी तरह से समझता हूं, तो पीसीएल पॉइंट क्लाउड ज्यामिति के लिए है, क्योंकि अधिक क्लासिक मेष के विपरीत। यह प्रति समस्या नहीं है, यह सिर्फ कुछ ऐसा है जिसे ओपी को अवगत होना चाहिए। –

+0

बढ़िया! इसके लिए बहुत बहुत धन्यवाद - मेरा प्रश्न इस विषय से जुड़ा नहीं था, लेकिन यह मेरे लिए उपयोगी होगा! –

4

यदि आपकी मुख्य चिंता बहुभुज मेष को संसाधित कर रही है (जैसे आपका प्रश्न बताता है, हालांकि "3 डी ज्यामिति इंजन" का अर्थ कुछ व्यापक हो सकता है), तो आप OpenMesh देख सकते हैं। जैसा कि आपने सी ++ 0x का उल्लेख किया है, मुझे लगता है कि आप टेम्पलेट्स के साथ कोई दुश्मन नहीं हैं, इसलिए आपको ओपनमैश पसंद हो सकता है, क्योंकि यह उपयोग करने में आसान बनाने के लिए जेनेरिक प्रोग्रामिंग संरचनाओं का भारी उपयोग करता है, लेकिन अभी भी बहुत ही कुशल जाल डेटास्ट्रक्चर है। यह जाल प्रसंस्करण के लिए बहुत अधिक पूर्व-अनुमानित एल्गोरिदम के साथ नहीं आता है, लेकिन कुछ ऐसे कुछ जो आपके स्वयं के एल्गोरिदम को लागू करने के लिए एक प्रारंभिक बिंदु हो सकते हैं।

+0

धन्यवाद! मैं ओपनमेश में देखूंगा। क्या आप मुझे बता सकते हैं कि क्या आपके पास [CGAL] (http://www.cgal.org/project_ideas.html) के साथ कोई समाप्ति है? क्या आप इसे किसी भी शर्तों में ओपनमैश से तुलना कर सकते हैं? –

+0

@ danilo2 मुझे CGAL के साथ कोई अनुभव नहीं है। यह एक विशाल सामान्य कम्प्यूटेशनल ज्यामिति लाइब्रेरी है जो केवल बहुभुज मेष से अधिक प्रदान करती है। मुझे नहीं पता कि यह कितना उपयोगी है, लेकिन मुझे एक बड़ा समुदाय मिला है और व्यापक रूप से उपयोग किया जाता है, मुझे लगता है। शायद pmr इसके बारे में और जानता है। लेकिन यदि आप केवल बहुभुज मेष में हस्तक्षेप कर रहे हैं, तो ओपनमेश एक अच्छी और तेज़ छोटी लाइब्रेरी है। –

+0

@ डैनिलो ईसाई सही है। CGAL _is_ विशाल लेकिन एकल पैकेज एक दूसरे से काफी अलग हैं (कर्नेल के अलावा, जो सर्वव्यापी हैं)। आपको एक विचार प्राप्त करना चाहिए कि आपको किस एल्गोरिदम का उपयोग करने की आवश्यकता है और बेहतर फिट ढूंढें। – pmr

2

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

+1

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

4

CGAL जाल प्रोसेसिंग एल्गोरिदम की विस्तृत विविधता प्रदान करता है और सटीक फ़्लोटिंग पॉइंट अंकगणित के लिए कस्टम नंबर प्रकारों के साथ आता है ।

+0

धन्यवाद! :) मैं इसे अभी अन्य उपकरणों के साथ तुलना कर रहा हूं और यह वास्तव में दिलचस्प लग रहा है! :) –

+0

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

2

आप CGAL से संभाल करने डेलॉनाय आदि प्रदान करते हुए ग्रेफाइट, एक खुला स्रोत ज्यामिति प्रसंस्करण ढांचे, बहुत आसान है की कोशिश कर सकते
http://alice.loria.fr/index.php?option=com_content&view=article&id=22

यह निश्चित रूप से की तुलना में "बस त्रिकोण और अंक से निपटने" और अधिक उन्नत है, लेकिन उपलब्ध कराने जाल प्रसंस्करण के लिए दिलचस्प अक्सर आवश्यक कार्यशीलता।

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