Multipole-Based Force Approximation Revisited – A Simple but Fast Implementation Using a Dynamized Enclosing-Circle-Enhanced k-d-Tree

  • Ulrich Lauther
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4372)


Most force-directed graph drawing algorithms depend for speed crucially on efficient methods for approximating repulsive forces between a large number of particles. A combination of various tree data structures and multi-pole approximations has been successfully used by a number of authors. If a multi-level approach is taken, in the late (and due to the large number of particles computationally intensive) steps, movements of particles are quite limited. We utilize this fact by basing force-calculations on an easy updatable tree data structure. Using explicit distance checks instead of relying on implicit guarantees provided by quadtrees and avoiding local expansions of the multi-pole expansion leads to a very simple implementation that is faster than comparable earlier methods. The latter claim is supported by experimental results.


Repulsive Force Force Calculation Interior Node Multipole Expansion Local Expansion 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)MathSciNetGoogle Scholar
  2. 2.
    Kamada, T., Kawai, S.: An Algorithm for Drawing General Undirected Graphs. Information Processing Letters 31, 7–15 (1989)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Fruchterman, T.M.J., Reingold, E.M.: Graph Drawing by Force-directed Placement. Software–Practice and Experience 21(11), 1129–1164 (1991)CrossRefGoogle Scholar
  4. 4.
    Davidson, R., Harel, D.: Drawing Graphs Nicely Using Simulated Annealing. ACM Transaction on Graphics 15(4), 301–331 (1996)CrossRefGoogle Scholar
  5. 5.
    Hachul, S., Jünger, M.: Drawing large graphs with a potential-field-based multilevel algorithm. In: Pach, J. (ed.) GD 2004. LNCS, vol. 3383, pp. 285–295. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Barnes, J., Hut, P.: A hierarchical \(\mathcal{O}(N\log N)\) force-calculation algorithm. Nature 324(4), 446–449 (1986)CrossRefGoogle Scholar
  7. 7.
    Quigley, A., Eades, P.: FADE: Graph Drawing, Clustering, and Visual Abstraction. In: Marks, J. (ed.) GD 2000. LNCS, vol. 1984, pp. 197–210. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Tunkelang, D.: JIGGLE: Java Interactive Graph Layout Environment. In: Whitesides, S.H. (ed.) GD 1998. LNCS, vol. 1547, pp. 413–422. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Greengard, L.F.: The Rapid Evaluation of Potential Fields in Particle Systems. ACM distinguished dissertations. The MIT Press, Cambridge (1988)zbMATHGoogle Scholar
  10. 10.
    Hachul, S.: A Potential-Field-Based Multilevel Algorithm for Drawing Large Graphs. PhD thesis, Institut für Informatik, Universität zu Köln, Germany, URN: urn:nbn:de:hbz:38-14097 (2005),
  11. 11.
    Bentley, J.L.: Multidimensional binary search trees used for associative searching. Commun. ACM 18(9), 509–517 (1975)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Welzl, E.: Smallest enclosing disks (balls and ellipses). New Results and New Trends in Computer Science 555, 359–370 (1991)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Lauther, U.: The c++ class library turbo - a toolbox for discrete optimization. Software@Siemens, 34–36 (2000)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Ulrich Lauther
    • 1
  1. 1.Siemens AG, CT SE 6, Otto-Hahn Ring 6, 81730 MünchenGermany

Personalised recommendations