# Graph Drawing System Operations

## The Initial Button

When the system is first started, e.g., through a page, there is a single button Show which shows the main graph drawing window. When this button is pressed it changes into Hide, which naturally hides the graph drawing window.

## The User Operations

When in the graph window the following operations are supported:
• Left-Click (and Drag) Move vertices around, with the edges pulling them back like rubber bands.
• Shift Left-Click This fixes the location of a vertex, so it does not jitter.
• Double-Click This changes the graph to display only the localized region around the clicked vertex, i.e. only those vertexs connected to the clicked one. To go back, use the Back button.
• Shift Double-Click This changes the graph so that several vertices are grouped into one vertex. Either all vertices within a certain distance are grouped, or, if there are some vertices which are fixed in place, the set of fixed vertices is grouped.
• Ctrl Left-Click (and Drag) In the relaxed embedding this adjusts the lengths of the edges.
• Blue Button Pressing the blue button in the lower right corner of the graph window shows/hides the control window, described below.

## The Embeddings

The following embeddings are supported:
• Stable stabilizes everything so that nothing moves.
• Relax does a weak-repulsion layout of the graph with fixed length edges.
• Random puts the vertices on random static points.
• Circular puts the vertices on static points on the circumference of a 2D circle (random in Z).
• Barycentric positions the vertices by solving a linear system, given a set of previously placed vertices. The set of previously placed vertices can be either a cycle from the graph or the set of vertices fixed in place.
• ForceDirect is similar to that above, but is a more conventional implementation without some heuristics which are used above.
• Linear does a hierarchical layout of the vertices.

## The Controls

The various controls in the control window are the following:
• Embeddings, the upper left selector, allows selection of one of the above embeddings.
• 3D / 2D allows or disallows Z values other than 0 for vertices.
• Back goes back to a previous localization or grouping (see above).
• Rotate Shows or hides the rotation control window, in which there are three sliders, X, Y, and Z which control rotation around the tree axes.
• Area Constant Control the constant multiplier of the area of the graph drawing space. Usually allows you to control the size of the graph, shrinking or expanding the embedding.
• Localization Depth Select how deep a double-click localization or grouping is, e.g., if it is 2, all vertices within depth 2 of the selected vertex are used in the localization or grouping.
• Minimum Temperature Select the minimum possible temperature of an annealing process. This allows you to ``turn up the heat'' on a force-directed embedding.
• Attraction Constant and Exponent In the force-directed embedding the attraction between adjacent vertices follows the formula f(d) = c/k * de where c and e are the constant and exponent controlled by these sliders.
• Repulsion Constant and Exponent In the force-directed embedding the repulsion between any two vertices follows the formula f(d) = -c*k2 / de where c and e are the constant and exponent controlled by these sliders.
• Current Temperature This field shows the current temperature of a force-directed placement, or the timestep of the hierarchical layout.