यहाँ एक समोच्च नक्शा है जिसके लिए सभी स्तर के बहुभुज उपलब्ध हैं।
चलो पूछें कि अपने सभी स्थानों में संरक्षित सभी लंबों को रखने वाले बहुभुजों को कैसे चिकना करें?
वास्तव में समोच्च एक ग्रिड डेटा के ऊपर बनाया गया है, तो आप ग्रिड डेटा को सुचारू करने के लिए सुझाव दे सकते हैं और इसलिए परिणामस्वरूप समोच्च चिकना होगा। ध्यान दें कि यह मेरी इच्छा के रूप में काम नहीं कर रहा है क्योंकि गॉसियन फ़िल्टर जैसे चौरसाई फ़ंक्शन डेटा के छोटे पैक को हटा देगा और तीसरे चर की सीमा को बदल देगा, उदाहरण के लिए, मेरे आवेदन में ऊंचाई की अनुमति नहीं है।
वास्तव में मैं कोड के एक टुकड़े (अधिमानतः अजगर में ) की तलाश कर रहा हूं जो 2D बहुभुजों (किसी भी प्रकार: उत्तल, अवतल, स्व-प्रतिच्छेदन आदि) को सुचारू रूप से दर्द रहित कर सकता है (कोड के पृष्ठों को भूल जाएं) और सटीक।
FYI करें, ArcGIS में एक फ़ंक्शन है जो यह पूरी तरह से करता है, लेकिन तीसरे पक्ष के वाणिज्यिक अनुप्रयोगों का उपयोग करना इस प्रश्न के लिए मेरी पसंद नहीं है।
1)
Scipy.interpolate:
जैसा कि आप देखते हैं कि परिणामी स्प्लिंस (लाल) संतोषजनक नहीं हैं!
2)
यहां दिए गए कोड का उपयोग करने का परिणाम यहां दिया गया है । यह अच्छी तरह से काम नहीं कर रहा है!
3)
मेरे लिए सबसे अच्छा समाधान निम्न आकृति जैसा कुछ होना चाहिए जिसमें एक वर्ग को केवल एक मान बदलकर धीरे-धीरे चिकना किया जा रहा है। मैं बहुविवाह के किसी भी रूप को चौरसाई करने के लिए इसी तरह की अवधारणा की उम्मीद करता हूं।
उस स्थिति को संतुष्ट करना जो तख्तापलट से गुजरती है:
4)
यहाँ पायथन में उनके डेटा पर लाइन द्वारा "व्ह्यूबर आइडिया" का मेरा कार्यान्वयन है । परिणाम बेहतर नहीं होने के कारण संभवतः कुछ कीड़े हैं।
K = 2 एक आपदा है और इसलिए k> = 4 के लिए है।
5)
मैंने समस्याग्रस्त स्थान में एक बिंदु को हटा दिया है और परिणामी सीमा अब व्हीबर के समान है। लेकिन यह अभी भी एक सवाल है कि विधि सभी मामलों के लिए काम क्यों नहीं करती है?
6)
व्हीबर के डेटा के लिए एक अच्छी स्मूथिंग निम्नानुसार हो सकती है (वेक्टर ग्राफिक्स सॉफ्टवेयर द्वारा खींची गई) जिसमें एक अतिरिक्त बिंदु आसानी से जोड़ा गया है (अपडेट की तुलना करें)
4):
7)
कुछ प्रतिष्ठित आकृतियों के लिए व्हीबर कोड के पायथन संस्करण से परिणाम देखें:
ध्यान दें कि लगता है कि विधि पॉलीलाइन के लिए काम नहीं करती है। कोने के लिए पॉलीलाइन (समोच्च) हरा है जो मैं चाहता हूं लेकिन लाल हो गया। यह ध्यान देने की जरूरत है क्योंकि समोच्च नक्शे हमेशा पॉलीलाइन होते हैं हालांकि बंद पॉलीइन्स को मेरे उदाहरण के रूप में बहुभुज के रूप में माना जा सकता है। यह भी नहीं कि अद्यतन 4 में उभरी समस्या का समाधान अभी तक नहीं किया गया है।
8) [मेरा आखिरी]
यहाँ अंतिम समाधान है (सही नहीं!):
याद रखें कि आपको सितारों द्वारा इंगित क्षेत्र के बारे में कुछ करना होगा। मेरे कोड में शायद एक बग है या प्रस्तावित विधि को सभी परिस्थितियों पर विचार करने और वांछित आउटपुट प्रदान करने के लिए और अधिक विकास की आवश्यकता है।