  Force-directed algorithms are among the most flexible methods for calculating
layouts of simple undirected graphs. Also known as spring embedders, such
algorithms calculate the layout of a graph using only information contained
within the structure of the graph itself, rather than relying on
domain-specific knowledge. Graphs drawn with these algorithms tend to be
aesthetically pleasing, exhibit symmetries, and tend to produce crossing-free
layouts for planar graphs. In this survey we consider several classical
algorithms, starting from Tutte's 1963 barycentric method, and including recent
scalable multiscale methods for large and dynamic graphs.
