Techniques for Interactive Graph Drawing
There are two complementary approaches to graph drawing: algorithmic and interactive. By algorithmic graph drawing we mean the automatic placement of vertices and routing of edges using heuristics to improve understandability. Interactive graph drawing, on the other hand, implies that a user directly influences at least some low-level aspects of graph layout, either by direct placement of vertices and edges, or by providing some form of feedbackto the system. Interactively engaging the user is in some instances unavoidable. When a user desires a dificult-to-quantify aesthetic quality of the graph, or is incrementally constructing a graph (such as a state diagram for an automaton) as part of a problem-solving taskor pedagogical exercise, it is dificult or impossible to employ algorithmic graph drawing. In these instances it is more natural to employ a sketching metaphor in which a user draws the graph in a traditional sense. A common strategy for making interactive drawing of diagrams immediately understandable is to incorporate physical analogies; that is, to mimic some familiar real-world appearance or process. For example, the hand-drawn appearance of a diagram can be retained by preserving its unevenness and through the use of textures that impart the appearance of physical writing implements, such as pencil, ink, or chalk. It can be advantageous to retain this type of appearance in situations where userdrawn and computer-drawn diagrams coexist. The behavior of a graph that is interactively altered can also incorporate useful physical metaphors. For example, the edges adjacent to a vertex that is interactively re-positioned by a user can mimic physical linkages that stretch when pulled, and bend or contract when pushed. Such behaviors are natural in that they are almost immediately plausible and predictable to a user. However, not all interactive techniques can bene.t from physical metaphors, for some transcend the capabilities of physical media. For example, recognition of hand-drawn elements, such as those representing vertices and edges, are often combined with gradual morphing that can improve the appearance of the diagram. Since physical writing surfaces exhibit no analogous behavior, a spectrum of possibilities has been explored. One approach that has been successfully applied in the context of graph drawing is the approach known as fluid sketching in which drawing and morphing occur nearly simultaneously. There are many potential combinations of algorithmic and interactive graph drawing to explore, such as the graceful re-routing of edges as a user interactively re-positions a vertex, or systems in which a user modi.es automatically generated graphs, or in which local improvements are automatically applied to user-drawn graphs.