2012-10-16 28 views
7

मुझे पता है कि वास्तव में क्या एल्गोरिदम डी 3 पुस्तकालय में बल निर्देशित ग्राफ सुविधा प्राप्त करने के लिए उपयोग करता है दिलचस्पी होगी। बल निर्देशित रेखांकन के इतिहास के Kobourov's summary पढ़ चुके मुझे थोड़ी क्या सटीक एल्गोरिथ्म या विधि (एल्गोरिदम/heuristics के संयोजन) पुस्तकालय में प्रयोग किया जाता है के रूप में विस्मित कर छोड़ दिया है।बल-निर्देशित ग्राफ के लिए D3.js क्या एल्गोरिदम उपयोग करता है?

डी 3 API reference का कहना है कि बार्न्स-हट एल्गोरिदम का उपयोग शरीर पर कार्यरत शुल्कों की गणना करने के लिए किया जाता है, एक ओ (एन * लॉग (एन)) ऑपरेशन। Kobourov के लेख कहा गया है कि Quigley-Eades एल्गोरिथ्म, और हू एल्गोरिथ्म बहुस्तरीय एल्गोरिदम कि बार्न्स-हट का इस्तेमाल करते हैं कर रहे हैं। क्या उनमें से एक डी 3 में किसी तरह से उपयोग किया जाता है?

एपीआई विकी आगे कहते हैं Verlet एकीकरण कण स्थिति के लिए प्रयोग किया जाता है। source code उल्लेख गॉस-साइडेल एल्गोरिथ्म, और डॉयर के graph layout paper जो बारी में Hu's algorithm में दोनों उल्लेख किया है। मुझे लगता है कि मैं जिस प्रश्न का उत्तर देख रहा हूं वह यह है कि "एकीकृत" एल्गोरिदम डी 3 क्या उपयोग करता है; कोबोरोव के लेख में कई सूचीबद्ध हैं और डी 3 बल-निर्देशित विशेषताएं सीधे उनमें से किसी भी फिट नहीं लगती हैं।

+1

में पाया जा सकता है कि अब एक सवाल है! +1 – Ridcully

+0

आप माइक Bostock को उस सवाल को सबसे अच्छा ईमेल करते हैं ... – akuhn

+0

@akuhn: मैंने डी 3 वेबसाइट पर निर्माता का ईमेल नहीं देखा है। मैं ऐसे प्रश्नों को सीधे ईमेल करने के लिए उचित नहीं होगा, फिर समुदाय में हर कोई ऐसा ही करेगा। मैंने माइक को यहां प्रश्नों का उत्तर देने के लिए देखा है, इसलिए मुझे लगता है कि यह पूछने का सही मंच है। – amergin

उत्तर

3

मूल d3 paper में, माइक Bostock & अल। ने लिखा है कि डॉयर के कार्यान्वयन बल ग्राफ लेआउट के लिए प्रयोग किया जाता है:

बल लेआउट शारीरिक सिमुलेशन और पुनरावृत्ति बाधा छूट [7] स्थिर ग्राफ लेआउट के लिए को जोड़ती है।

[7] टी। ड्वियर। स्केलेबल, बहुमुखी और सरल बाधा ग्राफ लेआउट। EuroVis, 2009.

अधिक जानकारी के लिए में Dwyer's paper पूरे एल्गोरिथ्म विवरण में वर्णन करता है।