यह बहुत लंबा है, केवल इसलिए कि सवाल इतना बड़ा है। मैंने अपनी बुलेट पॉइंट्स के आधार पर अपनी टिप्पणियां समूहित करने का प्रयास किया है।
अवयव बहुभुज आकर्षित करने के लिए
मेरा अनुमान है कि आप अधिक जानकारी उपलब्ध कराने के बिना सीमित सफलता मिल जाएगी - बहुभुज आकर्षित करने के लिए एक घटक बहुत ज्यादा आप के लिए उपयोग कर रहे हैं भाषा और यूआई प्रतिमान के लिए युग्मित किया जाएगा आपकी बाकी परियोजना, यानी। एक वेब घटक के लिए कोड देशी घटक के लिए बहुत अलग दिखाई देगा।
शायद एक विकल्प यह है कि आप प्रक्रिया के इस तत्व को बाकी हिस्सों से अलग करना चाहते हैं जो आप करने की कोशिश कर रहे हैं। कुछ बिल्कुल शानदार पूर्व-मौजूदा संपादक हैं जिनका उपयोग आप 2 डी और 3 डी बहुभुज बनाने के लिए कर सकते हैं।
Inkscape आसान 2d बहुभुज दर्ज करने के लिए करता है कि एक वेक्टर ग्राफिक्स संपादक का एक उदाहरण है, और उत्पादन एसवीजी, जो पार्स करने के लिए यथोचित आसान है उत्पादन का लाभ दिया है।
तीन आयामों में Blender एक ओपन सोर्स एडिटर है जिसका उपयोग मनमाने ढंग से ज्यामिति बनाने के लिए किया जा सकता है जिसे कई प्रारूपों में निर्यात किया जा सकता है।
आप एक गूगल-नक्शे एपीआई का उपयोग कर सकते हैं (संभवतः एक देशी एचटीएमएल प्रतिपादन नियंत्रण में), और आप एक नक्शा ओवरले पर स्थानिक अंक जोड़ने में रुचि रखते हैं, तो आप संबंधित click-to-draw polygon question on stackoverflow में रुचि हो सकती।पिछले अनुभव से, OpenLayers जैसे अन्य मानचित्र API समान दृष्टिकोण का समर्थन करते हैं।
चेक बहुभुज
थॉमस टी ओवरलैप हो रहे हैं कि क्या उसकी answer में मुद्दा बनाया, यहां संबंधित विधेय है कि इस और संबंधित प्रश्नों को संबोधित करने के लिए किया जा सकता के परिवारों रहे हैं। यदि आप सचमुच केवल दो आयामों में ओवरलैप और अन्य सेट सैद्धांतिक परिचालन (संघ, चौराहे, सेट अंतर) की तलाश में हैं, तो आप General Polygon Clipper
का उपयोग कर सकते हैं, आपको दो और बहुभुज समस्या पर विचार करने की आवश्यकता हो सकती है जब दो बहुभुज ' जब वे चाहिए तो एक चरम पर ओवरलैप या साझा करें। आप ऐसी समस्याओं से बचने के लिए दो और तीन आयामी बहुभुज को फैलाने (विस्तारित) करने के लिए एक मिंकोवस्की योग का उपयोग कर सकते हैं। Computational Geometry Algorithms Library में इन एल्गोरिदम के मजबूत कार्यान्वयन हैं।
मुझे लगता है कि यह अधिक संभावना है कि आप वास्तव में सॉफ्टवेयर का एक टुकड़ा है कि शिखर वेल्डिंग प्रदर्शन कर सकते हैं के लिए देख रहे हैं, क्रिस्टर Ericson की किताब Real-time Collision Detection बढ़त के संबंधित मुद्दों पर इस क्षेत्र में बुनियादी बातों का व्यापक और बहुत पठनीय विवरण शामिल हैं, और भी स्नैपिंग, क्रैक डिटेक्शन, टी-जंक्शन और अधिक। हालांकि, भले ही कोड स्निपेट उस पुस्तक के लिए शामिल किए गए हों, मुझे कोई तैयार पुस्तकालय नहीं पता है जो इन समस्याओं को हल करता है, विशेष रूप से, मूल वर्टेक्स वेल्डिंग से परे किसी भी चीज़ के लिए कोई पूर्ण कार्यान्वयन नहीं किया जाता है।
स्पष्ट रूप से सभी 3 डी पैकेज (ब्लेंडर, माया, अधिकतम, गैंडो) सभी इस समस्या को हल करने के लिए सॉफ़्टवेयर और टूल में निर्मित शामिल हैं।
समूह कोने
पिछले अनुभव से के आधार पर बहुभुज, यह सबसे अधिक समय सॉफ्टवेयर विकसित कर इस क्षेत्र में समस्याओं को हल करने के कुछ हिस्सों लेने से एक होने का पता चला। इसके लिए सीमाओं को पार करने के लिए ग्राफ सिद्धांत और एल्गोरिदम की उचित समझ की आवश्यकता है। आपके लिए भारी उठाने के लिए ठोस ज्यामिति या ग्राफ लाइब्रेरी पर भरोसा करना उचित है। अतीत में मुझे igraph के साथ सफलता मिली है।
अद्यतन बहुभुज को मूल पर वापस लिंक करें।
फिर से, पिछले अनुभव से, यह केवल सावधान बहीखाता का मामला है, और आपके जाल वर्गों के सामने कुछ बहुत ही सावधान डिज़ाइन है। मैं और सलाह देना चाहता हूं, लेकिन इस पर पिछले छह महीनों के बड़े हिस्से को खर्च करने के बाद भी, मैं अभी भी ऐसा करने के लिए "अच्छा" तरीका खोजने के लिए संघर्ष कर रहा हूं।
अन्य टिप्पणियाँ
आप उन के साथ बातचीत कर रहे हैं, मैं दृढ़ता से जहां संभव है कि "स्नैप", सभी उपयोगकर्ता गोलाई एक ग्रिड पर पता दर्ज कर एक संपादक का उपयोग करके इस मुद्दे से बचने की सलाह देते हैं। यह उम्मीद है कि आपको जो काम करना है, उसमें काफी मात्रा में कमी आएगी।
क्या बहुभुज दो या तीन आयामों में हैं? –