हमारी प्रणाली में, ऐसी आवश्यकताएं हैं जिन्हें हम कुछ स्रोत लाइनों (कम परिशुद्धता के साथ) को संदर्भ लाइनों (उच्च परिशुद्धता के साथ) में स्थानांतरित करना चाहते हैं। निम्नलिखित चित्र सामान्य उपयोग के मामले देते हैं। लाल एक स्रोत रेखा है और नीला एक संदर्भ रेखा है।
इस स्थिति के लिए, स्रोत लाइन को आंशिक रूप से स्थानांतरित किया जाएगा, और परिणाम ग्रीन लाइन शो के रूप में होगा:
ऐसी स्थितियां हैं कि स्रोत लाइन को पूरी तरह से स्थानांतरित करने की आवश्यकता है।
परिणाम:
वर्तमान में हमारा समाधान स्रोत लाइन के हेड / एंड पॉइंट को संदर्भ लाइन और इसके विपरीत प्रोजेक्ट करना है, फिर स्रोत और संदर्भ लाइन पर अनुमानित बिंदुओं को ढूंढें। इन अनुमानित अंकों के साथ, हम स्रोत और संदर्भ लाइन के आवश्यक हिस्से को निकाल सकते हैं और फिर उन्हें एक नए में जोड़ सकते हैं।
यह अधिकांश मामलों के लिए काम करता है, लेकिन ऐसे मामले हैं जो इस विधि से काम नहीं करते हैं। विशेष रूप से, जब दोनों में से किसी एक में "C" आकार की तरह होता है या हेड पॉइंट अंतिम बिंदु के बहुत करीब होता है। अगले दो चित्र परिदृश्य देते हैं।
मेरे एल्गोरिथ्म को लागू करने पर, हमें इसका परिणाम मिलता है:
एक तरह से यह समझ में आता है क्योंकि वर्तमान एल्गोरिथ्म बस अनुमानित अंक और अर्क लाइनों को ढूंढता है।
हमें उम्मीद थी कि यह कुछ इस तरह है:
तो मुझे ऐसा करने के लिए अधिक मजबूत एल्गोरिथ्म की आवश्यकता है ताकि यह पूर्ववर्ती जैसे विशेष मामलों को भी संभाल सके। मैंने हर बिंदु को एक पंक्ति से दूसरी रेखा पर प्रोजेक्ट करने और दो अनुमानित बिंदुओं को खोजने की कोशिश की है जो अनुमानित रेखा के शीर्ष / अंतिम बिंदु के सबसे करीब है, लेकिन कोई भाग्य नहीं था। फिर भी मुझे ऐसे मामले मिल सकते हैं जो अप्रत्याशित परिणाम देते हैं।
क्या पहले भी ऐसी ही कोई समस्या सामने आई है? यह भी बहुत अच्छा होगा यदि कोई सॉफ्टवेयर है या लाइब्रेरी समान काम कर सकती है। किसी भी उत्तर की सराहना की जाएगी।