2010-10-03 13 views
5

मेरे पास सह-प्लानर, जुड़े त्रिकोण, यानी 2 डी जाल का एक सेट है। अब मुझे ज़ेड-अक्ष में कुछ इकाइयों को बाहर निकालना होगा। जाल को कोष्ठकों के एक सेट द्वारा परिभाषित किया जाता है जो रेंडरर त्रिभुजों की सरणी के खिलाफ मिलान करके समझ में आता है।एक फ्लैट 2 डी मेष निकालने के लिए, इसे गहराई देकर

उदाहरण मेष:

कोने: (0,0,0), (10,0,0), (10,10,0), (0,10,0) < - (एक्स, वाई, जेड) त्रिकोण: (1, 2, 3) & (3, 4, 1) < - यहां संख्याएं ऊपर एक कशेरुक की स्थिति का संदर्भ देती हैं।

तो यहां हमारे पास 2 डी वर्ग है। अब मुझे निकाले गए आकार को बनाने के लिए उस सूची में अधिक शोर और त्रिकोण जोड़ना होगा। त्रिकोण घड़ी की दिशा में होना चाहिए, अन्यथा वे बैकफेस-कूल्ड हैं।

क्या इसके लिए कोई सरल एल्गोरिदम है? धन्यवाद।

0) n अपने उदाहरण में कोने की मूल संख्या (4 रहने दो)

1) प्रत्येक शिखर के लिए:

उत्तर

10

मान लें कि आप एक दूरी z द्वारा बाहर करने के लिए चाहते हैं, आप इन चरणों का पालन करने की जरूरत है अपने कशेरुक सरणी में, इसमें (0,0, z) जोड़ें, और कुल 2 * एन शिखर के लिए परिणाम को अपने चरम सरणी में जोड़ें। तो, आपके उदाहरण के लिए, आप कुल के लिए, अपने चरम सरणी में कोष्ठक (0,0, z), (10,0, z), (10,10, z), (0,10, z) जोड़ देंगे 2 * 4 = 8 शिखर के।

2) अपने मूल जाल के लिए सीमा की एक सूची (आंतरिक के विपरीत) किनारों की एक सूची बनाएं। ऐसा करने के लिए, सभी त्रिभुज किनारों की एक सूची बनाएं (प्रत्येक त्रिकोण के लिए घड़ी के क्रम में 3 किनारों पर जा रहे हैं)। फिर बराबर लेकिन विपरीत किनारों के जोड़े हटा दें (ये आंतरिक किनारों हैं)। आपके उदाहरण के लिए, आप किनारों की जोड़ी (3,1) और (1,3) को हटाने के बाद 6 किनारों से शुरू करेंगे और 4 किनारों के साथ समाप्त होंगे।

3) प्रत्येक त्रिभुज (ए, बी, सी) के लिए अपनी त्रिकोण सूची में, एक समान त्रिभुज (ए + एन, बी + एन, सी + एन) बनाएं। ये extruded चेहरे

4) अंत में, आप अपने निकाले गए आकार के पक्ष बनाना चाहते हैं। प्रत्येक किनारे (ए, बी) के लिए चरण 2 में बनाई गई सीमा किनारे सूची में, त्रिकोण (ए, बी, बी + एन) और (बी + एन, ए + एन, ए)

यह है। मेरे हिस्से पर कोई टाइपो मानना ​​नहीं है, और आपके हिस्से पर कोई टाइपो नहीं है, अब आपके पास वांछित जाल होना चाहिए।

+0

इस उत्तर में इसका क्या अर्थ है? – Skylion

+0

ओह प्रतीक्षा एक चरण 3 और 3 एक ही एन के रूप में एक है? – Skylion

+0

@ स्किलियन - एन हर जगह समान है, यानी शीर्षकों की मूल संख्या। – brainjam