2013-03-22 5 views
8

इनमें से कौन सा (https://stackoverflow.com/questions/492893/graph-drawing-c-library) पुस्तकालयों का उपयोग नोड्स निर्देशांक का मूल्यांकन करने के लिए किया जा सकता है? मेरा मतलब है कि मैं कुछ नोड्स जोड़ने या हटाने के लिए उस पर क्लिक करके ग्राफ को आकर्षित और कुशल बनाना चाहता हूं, और उसके बाद कुछ हल्के लाइब्रेरी का उपयोग करके निर्देशांक का मूल्यांकन करना चाहता हूं।ग्राफ नोड्स मूल्यांकन का समन्वय

मुझे केवल एल्गोरिदम की आवश्यकता है जो डॉट फ़ाइल और विशिष्ट लेआउट (http://en.wikipedia.org/wiki/DOT_language) पर हो सकता है मुझे ग्राफ नोड्स और 2 डी पॉइंट्स की अनुरूपता दें।

Prefferable भाषाओं: सी ++, C#, जावा

+1

WPF आप के लिए एक विकल्प है? मेरे पास एक पूर्ण नमूना अनुप्रयोग है जो 2 डी सतह (परिभाषित एक्स और वाई निर्देशांक के साथ) में नोड्स और कनेक्टर खींचने की अनुमति देता है, जो ड्रैग और ड्रॉप और कई रोचक दृश्य विशेषताओं का भी समर्थन करता है। –

+0

बेशक डब्ल्यूपीएफ सही होगा, यह मेरा पसंदीदा जीयूआई दृष्टिकोण है! क्या यह ओपन सोर्स प्रोजेक्ट है? मैंने "परिभाषित एक्स और वाई निर्देशांक" के बारे में गलत समझा है। आपका क्या अर्थ है? –

उत्तर

30

मैं एक "नोड्स संपादक" की एक पूरी WPF MVVM नमूना खींचें और ड्रॉप, और कई दिलचस्प दृश्य सुविधाओं का समर्थन कर दिया। यह इस तरह दिखता है:

enter image description here

Full Source Code on GitHub

+0

आपके नमूने के लिए धन्यवाद। शुरुआत में मैं "लेआउट लाइब्रेरी" की तलाश में था, जैसा कि मैंने समझा था, आपको लेआउट नहीं मिला है। मुझे लगता है कि उन्हें अपने नमूने में लागू करना बहुत अच्छा होगा, क्योंकि मुझे इसे दृष्टि से पसंद आया। क्या असतत ग्रिड को हटाना मुश्किल है? मैं नोड्स को स्वतंत्र रूप से कुशल बनाना चाहता हूं। –

+0

@ सेर्गेलीलैपिन 1 - "लेआउट लाइब्रेरी" से आपका क्या मतलब है? 2 - ग्रिड वास्तव में नोड्स को तोड़ नहीं रहा है, यह सिर्फ एक दृश्य है। वास्तविक स्नैपिंग 'Node.X' और' Node.Y' गुणों में होती है। उस पर एक नज़र डालें। यदि आप ग्रिड को हटाना चाहते हैं, तो 'VisualBrush' का उपयोग करके' पृष्ठभूमि 'को हटा दें। –

+0

मेरा मतलब है लाइब्रेरी जो "लेआउट विधियों" लागू करती है (आप यहां Ctrl + F इसे http://en.wikipedia.org/wiki/Graph_drawing) कर सकते हैं, लेकिन परिमित निर्देशांक का मूल्यांकन encapsulate होना चाहिए। विशिष्ट ग्राफ व्यूअर कार्यान्वयन से इसे अलग से उपयोग करना संभव होगा। –

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