2013-10-23 13 views
5

मैं QGLWidget उपयोग कर रहा हूँ 3-D वस्तुओं आकर्षित करने के लिए की अनुप्रस्थ काट, मेरे कार्यक्रम के लिए इनपुट आकार के चेहरे है।QGLWidget - 3 डी खोखले वस्तुओं

मतलब कि जब मैं एक घन आकर्षित करने के लिए चाहते हैं, तो मैं 6 तत्वों की सूची मिल गया हर एक एक चेहरा और प्रत्येक चेहरे का प्रतिनिधित्व 4 अंक, (एक्स, वाई, जेड) प्रत्येक बिंदु के लिए होते हैं।

चित्रण किया जाता है, लेकिन मैं एक क्रॉस सेक्शन फीचर को कार्यान्वित करने की कोशिश कर रहा हूं, अब तक क्रॉस सेक्शन का खोखला ऑब्जेक्ट्स के बाद परिणाम आकार है, मैं क्रॉस सेक्शन परिणाम कैसे प्राप्त कर सकता हूं जैसे कि आकार खोले नहीं गए थे ?

+1

इसलिए आप ऑब्जेक्ट का हिस्सा क्लिप करना चाहते हैं और चेहरे –

+0

@ratchet freak के साथ अंदरूनी शून्य को भरना चाहते हैं: हाँ। –

उत्तर

9

ओपन "वस्तुओं" नहीं जानता है। यह "ठोस" या "खोखला" नहीं जानता है। सभी ओपनजीएल जानता है अंक, रेखाएं और त्रिकोण हैं। यदि आप अपनी वस्तु को ठोस दिखाना चाहते हैं, तो आपको कट-ऑफ ऑब्जेक्ट की ज्यामिति की गणना करनी होगी, जिसके परिणामस्वरूप एक नया जाल होता है, जिसे आप ड्राइंग के लिए इनपुट डेटा के रूप में उपयोग करते हैं।

कट-ऑफ प्रक्रिया ऑपरेशन के एक सेट का हिस्सा है जिसे "बूलियन ज्यामितीय ऑपरेशंस" भी कहा जाता है जिसे "रचनात्मक ठोस ज्यामिति" भी बनाया जाता है। यदि आप इसके लिए Google हैं, तो आपको बहुत सारी जानकारी मिल जाएगी।

2

मेरा मानना ​​है कि आप क्या हासिल करने की कोशिश कर रहे हैं 2 ज्यामिति वस्तुओं पर कुछ boolean operation है। इस उद्देश्य के लिए बूस्ट में एक परिपूर्ण ज्यामिति पुस्तकालय है, और आपको इस एल्गोरिदम में से एक की आवश्यकता है: diff या intersection। उदाहरणों को देखते हुए, उन्हें अपनी विशिष्ट ऑब्जेक्ट संरचना के लिए संशोधित करना आसान है।