मेरे पास फ्लोट निर्देशांक के साथ 2 डी-पॉइंट (x, y) है, जब मैं उन्हें खींचता हूं, तो मुझे एक दूसरे के करीब होने पर समूह को समूह करने की आवश्यकता होती है, और उन्हें iwith समूहीकृत किया जाना चाहिए निश्चित आकार के साथ आयताकार की मदद। और समस्या यह है कि इन आयतों को अंतर नहीं करना चाहिए, और सभी बिंदु-पड़ोसियों को समूहीकृत किया जाना चाहिए।
यदि आपके पास पास एक पेपर है, तो आप एक बड़ा आयत खींच सकते हैं, उदाहरण के लिए 4 * 5 सेमी - क्षेत्र जहां सभी बिंदु स्थित हैं। अब यादृच्छिक रूप से अंक डालें, और मान लें, यदि ऐसे बिंदु हैं जिनकी दूरी 1 सेमी है - उन्हें आयताकार 2 * 3 में समूहीकृत किया जाना चाहिए।समूहांकन बिंदु एक दूसरे के करीब होने पर
मुझे एल्गोरिदम नहीं मिल रहा है कि इसे कैसे बनाया जाए, और प्रदर्शन भी मायने रखता है ... मैंने घोंसले, क्लस्टरिंग की तलाश की लेकिन मुझे जो चाहिए वह थोड़ा अलग है। और वैसे, अगर कुछ समूह आयताकारों को परिस्थितियों के अनुरूप सामान्य क्षेत्र से बाहर होना है, तो यह होना चाहिए, यह कोई समस्या नहीं है। जैसे आप इस क्षेत्र 4 * 5 है, और कहते हैं
(1,0), (2,1), (4,1), (4,3), (2,4)
तो परिणाम rectangles (0,0 - 3,2) & (3,1 - 6,3) and one point left (2,4)
चाहते चाहिए, क्योंकि अन्य सभी बिंदु बांटा गया और इस बात के लिए किसी भी पड़ोसियों अब जरूरत नहीं है।
मेरे अंक 'निर्देशांक पूर्णांक नहीं हैं लेकिन फ्लोट हैं, और अंक की गणना कुछ सौ (500 तक) हो सकती है। और मैं एक ही आयत पर क्षेत्र को तोड़ना नहीं चाहता हूं और बस गणना करें कि कितने बिंदु हैं, मेरा मतलब है ऊपर उदाहरण के लिए मैं प्रतिक्रियाएं (0,0 - 3,2), (3,0 - 6,2) कर सकता हूं , (0,3 - 3,6), (3,3 - 6,6) और केवल पहले रेक्ट के लिए अंक 2 को सारांशित करें, 1 (!) दूसरे के लिए इसका मतलब है कि इसे छोड़ दें, 1 के लिए 1 और चौथाई के लिए 1 => कार्य के अनुसार एक आयत तैयार की जाएगी और अन्य सभी बिंदु => गलत परिणाम होगा। कोई विचार? कम से कम कौन से एल्गोरिदम सहायक हो सकते हैं, जहां देखने के लिए ...
पीएस अब परिणामस्वरूप समूह/अंक की संख्या कोई फर्क नहीं पड़ता, ई.आई. ऊपर उदाहरण के लिए एक और अनुमत परिणाम (1,0-4,2) और (2,2-5,4) आयताकार हो सकता है, और कोई अंक
तो आयत के आयामों का उपयोग करने की अनुमति है और यह धुरी-गठबंधन है? और मुझे लगता है कि आप छोड़े गए अंकों की संख्या को कम करना चाहते हैं .. सही? – Jacob
हां, आयाम ठीक हैं (x * y), मैं उन्हें घुमा नहीं सकता (x * y का मतलब x * y है और मैं उन्हें y * x स्विच नहीं करता), और वे अक्ष गठबंधन करते हैं। कम से कम के बारे में, अभी के लिए नहीं। नतीजे में केवल अंक नहीं होना चाहिए, जिसमें दूरी से दूरी के करीब एक और बिंदु है, और यह सब – Maxym
है क्या इसे आयताकार और सटीक होना चाहिए? आप कुछ का उपयोग कर सकते हैं जैसे कि क्लस्टरिंग: http://jsfiddle.net/8NpNp/2/ – david