2011-11-19 19 views
10

मैं 2 डी लाइन सेगमेंट में शामिल होने का एक तरीका ढूंढ रहा हूं। एक लाइन सेगमेंट दो वेक्टर पॉइंट्स, लाइन सेगमेंट की शुरुआत और लाइन सेगमेंट के अंत बिंदु से बना है।2 डी लाइन सेगमेंट मर्ज करें

मैं लाइन सेगमेंट में शामिल होना चाहता हूं जो दिखता है कि उन्हें एक ही सीधी रेखा बनाना चाहिए, अगर वे पूरी तरह से अलग उन्मुखता के हैं तो लाइन लाइन में शामिल नहीं होना चाहते हैं, लेकिन एक दूसरे के करीब 2 अंक होने चाहिए। जिस प्रणाली में मैं इसका उपयोग करने जा रहा हूं वह एक कंप्यूटर दृष्टि प्रणाली है, इसलिए प्राप्त लाइन सेगमेंट सही नहीं होंगे यानी उन्मुखता थोड़ा दूर हो सकती है, सेगमेंट पूर्ण लंबाई नहीं हो सकता है e.t.c.

मुझे लगता है कि निम्नलिखित 3 उदाहरण रेखा खंडों की तरह मैं एक साथ शामिल करना चाहते हैं कवर:

Example

धन्यवाद

उत्तर

8

यह कम्प्यूटेशनल ज्यामिति समस्या संबंधित पाठ्य पुस्तकों में कुछ समाधान हो सकता है है, लेकिन चेतावनी दी जानी चाहिए कि इन समस्याओं को हल करने के लिए आमतौर पर बहुत मुश्किल है और सटीक परिशुद्धता एक वास्तविक समस्या है। इस समस्या के संबंध में (2 डी में) जिस शब्द की आप संभावना रखते हैं वह यह है कि लाइनें collinear के पास हैं। आम तौर पर आप यह निर्धारित करने के लिए क्या करते हैं कि रेखाएं कॉललाइनर हैं, उन्हें पहले vector representation में डालना है, फिर वेक्टर के बीच डॉट उत्पाद लें, जो लाइनों के बीच कोण के कोसाइन के बराबर होगा। इसलिए, यदि यह मान एक के पास है तो वे कॉललाइनर के करीब हैं और इसमें शामिल होना चाहिए।

अगली समस्या यह निर्धारित कर रही है कि लाइनें शामिल होने की आवश्यकता के लिए पर्याप्त हैं या नहीं। आप intersect लाइनों को ढूंढकर ऐसा कर सकते हैं या उन रेखाओं को ढूंढ सकते हैं जिनमें बहुत करीब और अंत बिंदु हैं ... यह सामान्य रूप से इतना आसान नहीं है, लेकिन आप शायद इस तरह से 9 5% प्राप्त कर सकते हैं।

संबंधित मुद्दे