एक और बहुभुज के अंदर बहुभुज कैसे पैक करें?


20

मैंने कुछ चमड़े की चादरों का आदेश दिया है जिनसे मैं किनारों को एक साथ सिलाई करके बाजीगरी का निर्माण करना चाहूंगा। मैं गेंदों के आकार के लिए प्लेटोनिक ठोस का उपयोग कर रहा हूं।

मैं चमड़े की चादरों को स्कैन कर सकता हूं और एक बहुभुज उत्पन्न कर सकता हूं जो चमड़े की चादर के आकार का अनुमान लगाता है (जैसा कि आप जानते हैं, यह जानवरों की त्वचा है, और यह आयतों में नहीं आता है)।

इसलिए अब, मैं अपनी बाजीगरी गेंद के आकार को अधिकतम करना चाहूंगा।

मेरे उदाहरण में, बहुभुज नियमित हैं, लेकिन मैं सरल बहुभुज के साथ एक समाधान की तलाश कर रहा हूं।

सबसे बड़ा पैमाना कौन सा है जिसे मैं अपने बहुभुजों पर लागू कर सकता हूं ताकि वे सभी शीट के अंदर फिट हो जाएं?

मैं यथासंभव सामग्री का उपयोग करके कचरे को कम करने की कोशिश कर रहा हूं।

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

औपचारिक रूप से:

इनपुट:

  • : एक साधारण बहुभुज (लक्ष्य)पी
  • : मैं करने के लिए जगह चाहता हूँ बहुभुज का सेटएस
  • : एन सरल बहुभुजोंका एक ग्राफ- प्रत्येक नोड एस में एक साधारण बहुभुज का प्रतिनिधित्व करता है, और बहुभुज के प्रत्येक जोड़े के बीच एक किनारे का किनारा होता है जो एक सामान्य बढ़त साझा करता है जीnएस
  • (सामग्री और कनेक्टिविटी का उपयोग)α> =0,β> =0

आउटपुट:

  • एक स्केल फैक्टर
  • , G का एक उपसमूह हैएचजी
  • : V ( G ) में प्रत्येक बहुभुज के लिए एक स्थान और एक कोणएलसीवी(जी)
  • उपाय की गुणवत्ता की माप : m = α + β | ( एच ) |=α+β|(एच)||(जी)|

अधिकतम इन शर्तों के अधीन:

  • (1)|वी(एच)|=|वी(जी)|
  • (2)|(एच)|<=|(जी)|
  • के लिए हर बहुभुज में एस , एस मैं एक पहलू से बढ़ाया स्थान पर एल सी ( एस मैं ) के अंदर है पी (3)एसमैंएसएसमैंएलसी(एसमैं)पी
  • बहुभुज ओवरलैप नहीं है (4)वी(एच)

(V (G) ग्राफ में कोने हैं, और S बहुभुजों का समुच्चय है, लेकिन वे वस्तुओं के एक ही समुच्चय का वर्णन करते हैं। हो सकता है कि ऐसा करने के लिए अधिक कॉम्पैक्ट तरीका हो।)

शर्तों की व्याख्या:

  • (1) मैं चाहता हूं कि सभी बहुभुज अंतिम लेआउट में हों
  • (2) यदि आवश्यक हो तो कुछ कनेक्शन टूट सकते हैं
  • (३) (४) गेंद चमड़े से बनी होती है

यहाँ लक्ष्य बहुभुज है चमड़े की चादर

यहाँ बहुभुज का सेट है जिसे मैं पैक करना चाहता हूँ: पॉलीहेड्रॉन नेट


क्या आप उत्तल बहुभुज के बारे में बात कर रहे हैं जिसे आप काटना चाहते हैं?
शुकुल

मेरे मामले में बहुभुज नियमित हैं, क्योंकि वे प्लेटोनिक ठोस के चेहरे हैं। लेकिन साधारण बहुभुजों को पैक करके भी काम करना चाहिए। क्यों आप जानना चाहते हैं कि क्या मैं जिस पॉलीगॉन को पैक करना चाहता हूं, वह उत्तल है?
एलेकाइल

1
यदि बहुभुज गैर-उत्तल हैं, तो आप हमेशा बिना कट के मूल बहुभुज के अंदर एक एकल गैर-उत्तल बहुभुज रख सकते हैं। तो यह सवाल सामान्य बहुभुज के लिए कोई मतलब नहीं होगा।
अचुलज़

मुझे नहीं पता कि यह महत्वपूर्ण है या नहीं, लेकिन बाउंडिंग बहुभुज (चमड़ा) उत्तल है या यह अवतल भी हो सकता है?
परेश

4
यहां तक ​​कि एक वर्ग में अधिकतम संख्या में वर्गों को पैक करने की बहुत सरल समस्या कठिन हो जाती है (क्षमा करें, लिंक लिंक नहीं मिला है, लेकिन कुछ महीने पहले इस पर चर्चा की गई है)। बस हाथ से पॉलीगनों को जकड़ लें, आप शायद इष्टतम से बहुत दूर नहीं होंगे।
वॉनब्रांड

जवाबों:


3

यह समस्याओं के अनुकूलन वर्ग का है जिसे पैकिंग समस्याएँ कहा जाता है । आपके मामले में, कंटेनर के रूप में एक नियमित बहुभुज के बजाय, आपको एक अनियमित मिला है, लेकिन विचार समान है।
ये अनुकूलन समस्याएं आमतौर पर एनपी-हार्ड होती हैं, इसलिए मुझे नहीं लगता कि सटीक समाधान प्राप्त करने का एक आसान तरीका है और सभी संयोजनों की कोशिश करना बहुत महंगा होगा।
इस तरह की समस्याओं में रुचि रखने वाले कुछ लोग हैं; मुझे कुछ हल की गई विशिष्ट पैकिंग समस्याओं का यह लिंक मिला है: http://www2.stetson.edu/~efriedma/packing.html

सबसे आसान तरीका है, मैं लेदर शीट के एक अनुमानित केंद्र को परिभाषित करने के लिए, बहुभुज के सेट को वहाँ ले जाने के लिए और ऊपर और नीचे स्केल करके और जाँचता हूँ कि क्या बहुभुज का सेट लक्ष्य बहुभुज के अंदर है या नहीं, पाने के लिए। पॉलीगोन के अपने वांछित सेट के लिए करीब और करीब पैमाने का कारक 'एफ'।

लेकिन, जब तक आप इस कारक का उपयोग बड़े पैमाने पर करतब दिखाने के लिए नहीं करेंगे, तब तक शायद इसे हाथ से करना काफी पर्याप्त होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.