Talk:Force-directed graph drawing

Pseudocode
Can someone add the pseudocode back in? I found it enormously helpful in understanding how a force-directed algorithm is actually implemented: a time-stepped simulation and/or animation where at each step, forces such as Hooke's Law or Coulomb's Law are applied to the vertices. Currently, the article only vaguely aludes to "simulating the physical forces". — Preceding unsigned comment added by 216.81.81.81 (talk) 19:34, 27 November 2013 (UTC)

I also would really like it if the Pseudocode was included again in the article! I recently worked ona a little graph applet and this code, which I only found by chance, really helped me out. It's easy to understand and easy to implement. I don't understand why it was taken out in the first palce :( — Preceding unsigned comment added by 134.102.82.68 (talk) 18:15, 24 April 2014 (UTC)

Pseudocode pieces for algorithms usually give (or discuss) initial conditions. I think here the initial layout of the nodes is supposed to be random (but taking care to avoid nodes in exact same locations) and zero velocities.Balrog-kun 22:47, 23 January 2007 (UTC)

We have found that smart initialization is a significant advantage. I don't agree that slow running times are an intrinsic property of force-directed layout - even the article points to fast implementations (c.f. Barnes-Hut and fast MDS techniques.) That naive algorithms are slow just means that they are ... naive. And, speaking of MDS, the article should make this connection obvious (an old gripe). In general the article is thoughtful and well-written. --StephenCNorth 18:06, 6 July 2007 (UTC)

this_node.velocity := (this_node.velocity + timestep * net_force) * damping Shouldn't we try to keep the units consistent? Multiplying an amount of time times a force does not yield units of velocity. Then again, we'd have to add mass into the algorithm to keep it true, or we can rename the "net force" to something more appropriate. 208.252.106.139 20:06, 23 July 2007 (UTC)


 * Yes and no. Fruchterman & Reingold ("Graph Drawing by Force-directed Placement", Software -- Practice and Experience, 21(11):1129-1164, starting at page 1131, near the bottom) carefully note that "We were inspired by natural systems such as springs and macro-cosmic gravity, but must point out that the 'forces' are not correctly named.  We use forces to calculate velocity for each time quantum (and thus displacement, since the time of a quantum is unity), whereas true forces induce acceleration.  The distinction is extremely important, because the real definition leads to dynamic equilibria (pendulums, orbits), and we seek static equilibria."
 * Looking at this article, it is clear it is heavily imbued with the false impression numerical modeling of physical systems are being undertaken by these "force-directed" layout algorithms, as opposed to simply taking what was needed to solve the problem, mangling some established terminology from other disciplines along the way. mdf 15:02, 31 October 2007 (UTC)

Where does the pseudocode algorithm come from? A source link would be helpful…Hypotroph 06:53, 29 October 2007 (UTC)


 * I don't know, but the pseudo-code given here is essentially the same given by the Fruchterman & Reingold reference I note above. Also note that the pseudo-code represents the 'naive' implementation.  mdf 15:02, 31 October 2007 (UTC)

What is the timestep for? It isn't obvious from article. 62.65.224.45 (talk) 18:34, 4 May 2009 (UTC)

Why SPAM?
Yesterday I put a link to http://morcego.arca.ime.usp.br on external links (sorry for being anonymous), and it was removed as spam. So I ask for explanations on criteria for considering this spam, since: 1 - The page is about a software that implements exactly the concept shown here; 2 - the software is Free Software, licensed under LGPL; 3 - Someone with scientific interest in the subject "Force-based algorithms" can see a real example of one and read the source code of its implementation;

So, I ask permission to put the link back, or an explanation for this being a spam.

Tks, Luis —Preceding unsigned comment added by LuisFagundes (talk • contribs) 16:24, 10 November 2007 (UTC)
 * You mean as, where your sole contributions were to add the same link two three articles. See WP:EL and  WP:SPAM, especially Wp:spam --Ronz 16:41, 10 November 2007 (UTC)
 * Tks for that, I've reviewed the article and all the links. I usually prefer to contribute anonymously and this was my first linking around, so I was not used to spam rules. I see that my motivations were not always the best. Since I make this software with no commercial interest at all, am a strong believer on Wikipedia and Free Software, I wrongly assumed that free software promotion was ok, sorry for that.


 * As I see: one of my links were not legitimate (in mind maps article), so thanks for removal. One was very proper and was kept, and this specific one is deserver discussion. I think Morcego fits as an illustration of the concept, both visually and its source code. Maybe it would be more proper to link direct to http://morcego.arca.ime.usp.br/Physical+Model, that is the exact page in site that explains the Force-based algorithm used by the software. But that article don't add much to the concept itself, the software is the illustration, so a link to the homepage might also be appropriate.


 * So, if your judgment based on the content and not on behaviour tells you so, I ask you to please put back the link, either to homepage or to the Physical Model page.


 * Tks,
 * Luis —Preceding unsigned comment added by LuisFagundes (talk • contribs) 16:58, 10 November 2007 (UTC)
 * I think the link to the model is more appropriate as an illustration. It would be nice if others gave their opinions. --Ronz 01:43, 11 November 2007 (UTC)

Title - Should it be renamed?
The title of this article gives no indication that it relates to graph drawing. I'm not very familiar with this topic but I suspect that a name like "Force-based algorithms (graph drawing)" or ""Force-based graph drawing" would be a more appropriate title. Justin W Smith talk/stalk 14:58, 13 April 2010 (UTC)
 * Obviously, the article has now been renamed. Justin W Smith talk/stalk 02:24, 24 April 2010 (UTC)

Visualisation in flash
I have made an interactive visualisation of this algorithm in flash. I also described the algorithm and have source code available in my article.
 * If you find it appropriate for this wikipedia article, please add the links to external links.
 * 2D http://blog.ivank.net/force-based-graph-drawing-in-as3.html
 * 3D http://blog.ivank.net/force-based-3d-graph-drawing-in-as3.html
 * I don't want to be accused of COI.

Where does the Pesudo-code come from?
I know that this pseudo-code have been here for a very long time, but it still would be interesting to know where this variation came from. When you get into the details, it is quite subtly difference from "T. Fruchterman and E. Reingold. Graph drawing by force-directed placement (1991)." — Preceding unsigned comment added by 82.24.239.152 (talk) 20:54, 21 August 2012 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Force-directed graph drawing. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20060521183023/http://www.cs.ucd.ie/staff/aquigley/home/downloads/aq-gd2000.pdf to http://www.cs.ucd.ie/staff/aquigley/home/downloads/aq-gd2000.pdf

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 14:28, 3 October 2017 (UTC)

Equal length edges
In the second sentence it says "...so that all the edges are of more or less equal length" but I don't think this is accurate. Sometimes that is the aim, but one of the benefits of force directed graphs is it can take into account weighted edges by using weighted constants in calculating the force. Deep.fried.bacon (talk) 21:11, 15 September 2022 (UTC)