Force-directed simulations solve the problem of deciding where to place the nodes of a network diagram by integrating different forces that iteratively enforce positioning constraints. The process can be used to create not only node-link diagrams, but also clustered bubble charts and word clouds, and to reveal patterns in large scatterplots. They are great to show topology in link-node systems.
A force simulation layout function receives an array of nodes, one or more constraints configured in force algorithms, and runs for a finite number of iterations or until the simulation reaches a stable state. At each iteration, computed x and y coordinate positions are assigned for each node.
You can create static charts by running several iterations of the simulation in the background, and then using the computed final node positions...