2008-09-17 23 views
18

मैं एक अच्छा 3 डी मेष पुस्तकालयएक अच्छा 3 डी जाल पुस्तकालय

  • की तलाश में हूँ लोकप्रिय स्वरूपों को पढ़ने में सक्षम होना चाहिए (बंद, OBJ ...)
  • का समर्थन करना चाहिए दोनों आधा बढ़त संरचना और एक त्रिकोण सूप
  • त्रुटियों और अवैध मेषों के प्रति सहिष्णु होना चाहिए।
  • मूल ज्यामितीय परिचालन - चौराहे, सामान्य गणना, आदि '
  • सबसे महत्वपूर्ण बात - अंतहीन टेम्पलेट और विरासत पदानुक्रमों के साथ घिरा नहीं होना चाहिए।

मैंने सीजीएएल और ओपनमेश दोनों की कोशिश की है लेकिन दोनों अंतिम बिंदु में बुरी तरह विफल हो गए हैं।

विशेष रूप से CGAL जो सबसे उन्नत कोड विश्लेषण टूल के साथ भी पालन करना असंभव है।

अभी तक मैं गंभीरता से अपना खुद का खींचने पर विचार कर रहा हूं।

मेरी वरीयता सी ++ है लेकिन मैं अन्य विकल्पों के लिए खुला हूं।

+0

मैं अगर यह आपके आवश्यकताओं को संतुष्ट नहीं जानते में सुधार में एन्कोड नहीं की एक अंतर्निहित प्रतिनिधित्व का समर्थन करता है, लेकिन करने के लिए एक बार देख ले वीसीजी – elect

उत्तर

10

क्या मैं पूछ सकता हूं कि अंतिम बिंदु एक आवश्यकता क्यों है?

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

उदाहरण के लिए, सीजीएएल ने जेनेरिक और एक्स्टेंसिबल सी ++ पुस्तकालयों के लेखन के जाने-माने और अच्छी तरह से परीक्षण किए गए एसटीएल प्रतिमान को अपनाया है। यह वास्तव में कोड विश्लेषण उपकरणों के साथ पालन करना मुश्किल बनाता है; मुझे संदेह है कि वे एसटीएल हेडर का पालन करने में बहुत अच्छे हैं।

लेकिन क्या आप लाइब्रेरी का उपयोग करने या इसे संशोधित करने का प्रयास कर रहे हैं? किसी भी तरह से, उनके पास कुछ बेहद उच्च गुणवत्ता वाले दस्तावेज हैं (उदा। Kernel Manual) जो कि उन्हें अपने कोड को पढ़ने के बिना, आपको जो करना है, उसे समझने के लिए अपेक्षाकृत सरल बनाना चाहिए।

अस्वीकरण: मुझे पता है कि यह वह नहीं है जिसे आप पूछ रहे हैं। लेकिन मुझे नहीं लगता कि आप जो खोज रहे हैं वह मौजूद है। यह असाधारण दस्तावेज के साथ ओपन सोर्स कोड खोजने के लिए दुर्लभ है जिसे मैंने सीजीएएल के माध्यम से स्कैनिंग के रूप में देखा है। मैं दृढ़ता से सुझाव दूंगा कि आप इसे एक और नजर डालें।

2

सबसे पहले, आप आवश्यकताओं के बारे में कुछ सामान्य टिप्पणी:

  • पढ़ने OBJ या बंद फ़ाइलें बहुत आसान है। कुछ मिनटों में, अधिक ज्यामितीय सुविधाओं को प्रदान करने वाली लाइब्रेरी के शीर्ष पर आप इसे स्वयं लागू कर सकते हैं। दूसरी तरफ, इस तरह के पुस्तकालयों का ज्यामितीय भाग इतना कठिन है कि आपको निश्चित रूप से अपनी आवश्यकताओं पर ध्यान देना चाहिए जो वास्तव में ज्यामितीय एल्गोरिदम से निपटते हैं, और अपनी आवश्यकताओं के अनुरूप कुछ ढूंढने का प्रयास करते हैं। फिर, ज़ाहिर है, अगर कोई टाई है, तो इस इंटरफेस मुद्दे पर विचार करना शुरू करें।
  • ज्यामितीय परिचालन के संदर्भ में, आप छेड़छाड़ के लिए पूछते हैं। क्या आपका मतलब प्राइमेटिव्स चौराहे है? (जिसके लिए अच्छे और सरल एल्गोरिदम पाए जा सकते हैं और कार्यान्वित किए जा सकते हैं) या दो मेष के चौराहे की गणना? या टकराव का पता लगाने?(जो नाजुक प्रश्न हैं, बिना किसी साधारण उत्तर के)
  • यदि आप उच्च स्तर के दृष्टिकोण से अधिक विशिष्ट हैं, तो आप जिस प्रकार के टूल्स बनाना चाहते हैं, उसके बारे में लोग आपको सही टूल पर निर्देशित करने में सक्षम होंगे । आपकी आवश्यकताओं बहुत कम स्तर हैं।

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

यदि आपको अपनी ज़रूरत के अनुरूप लाइब्रेरी नहीं मिलती है, तो आपको अपने विकास के लिए अंतर्निहित ढांचे के रूप में सीजीएएल जैसी लाइब्रेरी का उपयोग करने पर गंभीरता से विचार करना चाहिए। यह मजबूती से संबंधित समस्याओं की उपस्थिति को रोक देगा, कि आप आमतौर पर केवल अपनी विकास प्रक्रिया में देर से ध्यान देना शुरू कर देंगे, अंतर्निहित ढांचे को बदलते समय दर्दनाक होगा। एक तरफ, सीजीएएल के पास एक व्यापक दस्तावेज है, और एक बहुत सक्रिय उपयोगकर्ता मेलिंग सूची है। robustness issues

0

मैं अगर यह आप के लिए उपयोगी हो सकता है पता नहीं है:

आप ज्यामिति सॉफ्टवेयर में मजबूती मुद्दों के बारे में पता नहीं है, तो इस पृष्ठ पर एक नजर है। एक और लाइब्रेरी भी है, जिसे मैंग्रोव टीडीएस लाइब्रेरी कहा जाता है, जो http://mangrovetds.sourceforge.net पर स्वतंत्र रूप से उपलब्ध है, यह किसी भी डोमेन (कई गुना, गैर-कई गुना, छद्म-कई गुना, आईक्यूएम परिसरों, सादगी परिसरों, और इतने पर)। यह संभवतः गैर-नियमित आकारों का समर्थन करता है, यानी, विभिन्न आयामों के टुकड़ों द्वारा गठित किया जाता है।

इसकी मुख्य संपत्ति यह है कि यह विस्तार योग्य है, इस अर्थ में कि किसी भी स्थलीय डेटा संरचना का समर्थन किया जाता है। यह एक प्लगइन है, जिसे रन-टाइम पर बदला और लोड किया जा सकता है।

इसका कार्यान्वयन डेटा संरचना में एन्कोड किए गए इकाइयों की सरणी-आधारित अनुक्रमण पर आधारित है, जो इटरेटर का समर्थन करता है। यह गतिशील गुणों का भी समर्थन करता है।

अंत में, यह संस्थाओं सीधे डेटा संरचना (भूत संस्थाओं) है, जो संस्थानिक प्रश्नों की दक्षता