graph interaction through dynamics-based skeletal animation · graph interaction through...
TRANSCRIPT
Graph Interaction through
Dynamics-Based Skeletal Animation
COLIN MURRAY
A dissertation submitted in partial fulfillment of
the requirements for the degree of
Bachelor of Computer Science and Technology (Advanced) (Honours)
Supervisors:
Dr. Masahiro Takatsuka
Damian Merrick
School of Information Technologies
The University of Sydney
Australia
2 November 2003
Abstract
Skeletal animation is a concept that has been used in the areas of motion pictures and com-
puter games to create realistic motion for the animation of articulated characters. Recent work
has applied skeletal animation techniques from inverse kinematics to the field of graph interac-
tion. The previous work introduced an interesting idea suggesting a skeletal graph interaction
system would be intuitive and natural. However, due to problems with the skeletal animation
techniques used, the benefits of the system were limited.
This thesis investigates the use of a new dynamics-based technique previously used in the
area of skeletal animation for graph interaction. The motivation for this work was to improve
upon the previous work by providing a skeletal graph interaction system that reduces the diffi-
culty and time taken in navigating the graph and increases the amount of information that can
be interpreted and understood. We have adapted this technique and implemented it in a graph
interaction environment allowing the user to drag nodes of the skeleton in order to manipulate
the layout of the graph. The graph reacts to the user movement while maintaining the physical
constraints placed upon it by the skeletal metaphor. We have also conducted a user study, the
results of which confirm the usefulness of both this new technique and the skeletal metaphor in
aiding the user’s understanding of a graph.
ii
Acknowledgements
I would like to express my gratitude to:
• Damian Merrick, for providing a huge amount of support, advice and encouragement
at every stage throughout the year.
• Masahiro Takatsuka, for his ever-present ideas and advice.
• The rest of the Information Visualisation Research Group, for their suggestions and dis-
cussions about the project.
• All those who participated in the user study.
• Mum and Dad, for always supporting me.
• Brian, Cassie & Tanya for providing many distractions and keeping me sane.
• All the guys in G28, for making Computer Science Honours such an enjoyable and un-
forgettable experience.
iii
Conventions
Several conventions are utilised throughout this thesis.
The thesis is divided into chapters, numbered in sequential order starting from Chapter 1.
Each chapter is divided into sections. (e.g. Chapter 3 contains Section 3.2). The Contents part
of this thesis gives the page numbers and titles of each chapter and section.
Figures are numbered sequentially within each chapter, the second figure of Chapter 3 be-
ing Figure 3.2. A list of figures is given on the pages immediately following the Contents part
of the thesis.
Pseudocode is provided throughout the thesis.All pseudocode is presented
in this typeface.
iv
CONTENTS
Abstract ii
Acknowledgements iii
Conventions iv
List of Figures vii
Chapter 1. Introduction 1
1.1. Aim of the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Summary of Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Structure of this Thesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chapter 2. Literature Review 8
2.1. Graph Drawing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Layout Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Graph Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4. Physical Metaphors for Graph Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5. Skeletal Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6. Skeletal Animation in Graph Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Chapter 3. A System for Force-Based Skeletal Graph Interaction 29
3.1. A Particle System for Skeletal Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2. Implementation of the Particle System in a Graph Interaction Environment . . . . . . 36
3.3. Implementation of a Force-Directed Algorithm in a Graph Interaction
Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4. Computational Complexity of the methods used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
v
CONTENTS vi
Chapter 4. Evaluation of Skeletal Animation Techniques in Graph Interaction 48
4.1. User Study. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2. Results & Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3. Comparison of the Particle System with Previous Techniques . . . . . . . . . . . . . . . . . . 62
Chapter 5. Conclusion 70
5.1. Research Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2. Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
References 74
Appendix A. System Screenshots 81
Appendix B. User Survey Forms 88
List of Figures
2.1 An Example of a Polyline Graph Drawing (Source: [Gutwenger98]). 9
2.2 An Example of a Straight-Line Graph Drawing (Source: [Eades99]). 9
2.3 An Example of an Orthogonal Graph Drawing (Source: [Biedl98a]). 9
2.4 An Example of an Upward Graph Drawing (Source: [Germano99]). 10
2.5 An Example of a Visibility Representation of a Graph (Source: [Kant97]). 10
2.6 The Evolution of a Force-Directed Graph Drawing (Source:
[Davidson96]). 12
2.7 Fisheye view of a regular grid of the plane (Source: [Herman00]). 17
2.8 Initial Configuration showing Desired End-Effector Position and a
Possible Final Configuration (Source: [Merrick02 ]). 24
2.9 An example screenshot from the first system developed for skeletal
animation in graph interaction (Source: [Merrick02 ]). 27
3.1 An Articulated Figure Representing a Character’s Skeleton (Source:
[Jakobsen01]). 30
3.2 Dragging an Articulated Figure around an environment in IO Interactive’s
"Hitman: Codename 47". (Source: http://www.ign.com). 31
3.3 Motion governed by Verlet integration within a box environment. (Source:
[Jakobsen01]). 33
3.4 The stick constraint is validated by moving the particles closer together or
further apart (Source: [Jakobsen01]). 33
3.5 Two rigid bodies connected by a pin joint to form an articulated body
(Source: [Jakobsen01]). 35
vii
L IST OF FIGURES viii
3.6 Two rigid bodies connected by a hinge joint to form an articulated body
(Source: [Jakobsen01]). 35
3.7 The length of the dotted line must exceed some threshold. This simulates
an angular constraint. (Source: [Jakobsen01]). 35
3.8 A simplified outline of the execution process of our implementation of the
particle system in a graph interaction environment. 36
3.9 Initial Configuration Showing Desired Position of End-Effector. 40
3.10 Movement of the Node to the Desired Position followed by the Constraint
Solver Produces the Final Configuration. 40
3.11 As neither node is fixed, the edge-length constraint is easily satisfied. 41
3.12 Both nodes are fixed. It is not possible to satisfy the edge-length
constraint, as moving the nodes closer together would violate the fixed
nodes constraint. 41
3.13 All constraints are satisfied. This is indicated by green edges of standard
width. 43
3.14 Some edge-length constraints are not satisfied. This is indicated by edges
of varying width and colour. 43
4.1 The graph used for part 1 of the user study. 49
4.2 The graph used for part 2 of the user study. 52
4.3 The web graph used for part 3 of the user study. 54
4.4 The hex game graph used for part 3 of the user study. 54
4.5 The results for part 1 of the user study. 64
4.6 The results for part 2 of the user study. 65
4.7 The results for the web graph in part 3 of the user study. 66
4.8 The results for the hex game graph in part 3 of the user study. 67
4.9 Comparing the results for web and hex graphs using the skeletal technique. 68
L IST OF FIGURES ix
4.10 Comparing the results for web and hex graphs using the skeletal technique
with angular constraints. 69
A.1 Dragging nodes using our dynamics-based skeletal graph interaction
system. By ensuring the constraints are satisfied, it quickly produces a
much better graph drawing and allows us to improve our understanding of
the graph structure. 81
A.2 Top: A highly stretched graph using the technique without a threshold.
Bottom: A graph stretched as far as possible using the technique with a
threshold. 82
A.3 The graph in part 2 of the study using the force-directed algorithm. 83
A.4 The graph in part 2 of the study using the standard skeletal technique. 84
A.5 The graph in part 2 of the study using the skeletal technique with angular
constraints. 85
A.6 The web graph in part 3 of the study. Top: using the standard skeletal
technique results in bunching up of nodes. Bottom: using the skeletal
technique with angular constraints gives a much better angular resolution. 86
A.7 The articulated figure from figure 3.1 represented by a graph in our graph
interaction environment. 87
CHAPTER 1
Introduction
1.1. Aim of the Project
A relational network or graph is commonly used to represent relations between objects. A
graph consists of a set of nodes and edges, where nodes represent objects and edges represent
the relationship between objects. Edges can be directed or undirected.
Graph drawing takes the set of nodes and edges of a graph and assigns coordinates to the nodes
so that they can be drawn. The aim of graph drawing is to produce a picture that allows the
viewer to easily understand the information that is represented by a graph. A lot of research has
been done in the area of graph drawing and this is given in more detail in Chapter 2 on page 8.
While a number of good graph drawing algorithms have been developed, there are always
situations, particularly in 3D, where the layout provided is difficult to understand. In these
situations it is desirable to have a mechanism to allow the viewer to modify both the graph
layout and their view of this layout. Graph interaction techniques are designed to provide this
mechanism.
Graph interaction is a field that aims to complement graph drawing by reducing the difficulty
and time taken in understanding the information that is being represented by a graph. Effective
1
1.1. AIM OF THE PROJECT 2
interaction techniques have the potential to reduce the time that an analyst needs in order to nav-
igate the presented information, and increase the amount of information that can be interpreted
and understood.
The aim of this project is to investigate graph interaction methods and provide a graph inter-
action system that allows the analyst to understand a graph’s structure more quickly and easily
than other graph interaction systems. This goal is achieved by using a skeleton as a physical
metaphor for a graph and using a skeletal animation technique that is very highly suited for this
purpose.
There are a large number of skeletal animation techniques available. This thesis describes
different skeletal animation techniques and how they can be adapted to provide an intuitive
graph interaction environment. It also evaluates these particular techniques in terms of their
usefulness in graph interaction, both against each other and against other techniques for graph
interaction. This evaluation aims to demonstrate that the skeletal metaphor is useful for graph
interaction, and also to show which skeletal animation techniques are best suited for this pur-
pose. The evaluation aims to affirm or reject the following hypotheses:
a) New techniques will have a positive effect on the simulation of the skeletal metaphor in
graph interaction.
b) The use of the skeletal metaphor will have a positive effect on the user’s ability to
understand the graph structure
Graphs are used in a variety of domains and the skeletal metaphor is potentially useful in many
graph drawing domains. This thesis will also briefly explore the areas of web graphs and the
hex game graph as domains in which skeletal graph interaction could be useful.
1.2. MOTIVATION 3
1.2. Motivation
Graph Visualisation
While graph visualisation has been an area of great interest for researchers, the basis on which
it has been built isn’t perfect. Graph drawing algorithms are generally designed to optimise
certain aesthetic criteria. Examples of aesthetic criteria include minimisation of crossings,
area, bends and maximisation of smallest angle and symmetries. The extent to which a graph
drawing satisfies this criteria is often used as a basis for evaluating its understandability.
A study by Purchase et al. has shown that aesthetic criteria are not always the best way of
drawing or measuring the understandability of a graph [Purchase00]. It argues that, because
graph drawing algorithms are often developed without a specific domain in mind, they are
often not useful once they are applied to domain-specific graphs. The characteristics of an
understandable graph drawing are shown to be highly dependent upon the domain in which
the graph is being drawn. Therefore the aesthetic criteria may not be a reliable measure of the
understandability of a graph. If these graph drawing algorithms are based upon the aesthetic
criteria, their ability to produce an understandable graph drawing is not guaranteed.
It is also reasonable to suggest that the level of readability of a graph is dependent upon the
viewer. Different analysts may gain different levels of understanding from the same graph
drawing. They may also respond differently to certain characteristics of a graph drawing.
In most cases, it seems somewhat naive to provide an analyst with only one drawing of a graph.
If they are unable to understand the graph based on this one drawing, they will have no further
avenue in which to comprehend the information. There may also be no individual drawing of
a graph that is easily understandable in its entirety. By viewing several different visualisations
of the same graph, the user is more likely to obtain an understanding.
1.2. MOTIVATION 4
By providing the user with a mechanism to change the graph drawing, we provide infinite ways
in which the graph may be represented. Not only will this allow changes to be made to an
incomprehensible graph, the changes will also be made by the analyst who is attempting to
understand the graph. By providing their own graph drawing, they are more likely to produce
a representation that they themselves are able to understand.
Graph Interaction
Simply providing the user with the ability to change the positions of nodes may not be enough.
We would like to assist the user in finding a good layout. Graph interaction allows the user to
make changes to a graph drawing with the aim of increasing the understanding of the graph
within a short time. Graph interaction techniques determine how the graph will respond to
input from the user, determining how quickly and easily they will find an understandable con-
figuration.
One such way in which we can control how movements by the user will result in changes to the
graph is through the use of a physical metaphor. The aim of a physical metaphor is to simulate
a physical structure that the user is familiar with. This will result in changes that feel natural
to the user. Any graph interaction technique should feel natural and intuitive, and a useful
physical metaphor is able to provide this.
This leads to the question of what physical metaphor would be suitable for graph interaction.
Such a metaphor must be easily mapped onto a graph structure. A physical metaphor with these
properties that was recently introduced [Merrick02 ] is the skeletal structure. A skeleton in this
case may be seen as a system of bones of fixed length connected by joints that may be rotated
at any angle.
The skeletal structure has many advantages. Firstly, it is easily mapped onto a graph. The nodes
of the graph are mapped to the joints of the skeleton and the edges of the graph are mapped
1.2. MOTIVATION 5
to the bones of the skeleton. As the user drags a node, other nodes will move and joints will
rotate. The interaction technique must ensure that edge-lengths remain constant.
The second major advantage of the skeletal metaphor is that a large amount of research has
been performed in the area of skeletal animation. The majority of skeletal animation research
has been driven by its need in robotics, computer games and motion pictures. These algorithms
can also be applied to the graph structure. As a result we have a large number of algorithms to
choose from and are likely to be able to find a technique that is suited to both skeletal animation
and graph interaction.
The skeleton is also a structure that is manipulated by humans on a regular basis and therefore,
it should feel natural and intuitive.
While Merrick introduced the skeletal metaphor, the skeletal animation techniques he used did
not provide as natural a feel as expected. As a result, there remains a need for an investigation
into other skeletal animation techniques, and an implementation of the skeletal metaphor in a
graph drawing environment that fully realises its potential in terms of its ability to increase the
user’s understanding of a graph.
Potential Applications
Merrick has mentioned domains in which the skeletal metaphor could be useful. The domains
mentioned were PERT diagrams, cluster trees and graphs containing an inherent hierarchy. Web
graphs are another area where the skeletal metaphor could be useful. The skeletal metaphor is
potentially useful in any application where it is crucial to visualize structural information as
graphs.
1.3. SUMMARY OF CONTRIBUTION 6
1.3. Summary of Contribution
This thesis makes several contributions to the field of graph interaction. We provide a brief
summary here and the remainder of this thesis will detail how they were achieved.
We have introduced a technique from skeletal animation as a method that can be used for graph
interaction tasks. We have also provided additional features designed to make it even more
suitable for graph interaction. This technique improves upon the previous techniques used for
skeletal animation in graph interaction.
We have demonstrated the usefulness of the skeletal metaphor through a comprehensive user
study into the benefits of the skeletal metaphor and the different methods used. The results
show that the skeletal techniques are much more effective at providing a mechanism for which
the user can easily understand the graph and provides solid evidence of the usefulness of the
skeletal metaphor. We have also provided some evaluation of the skeletal metaphor in the
domains of web graphs and the hex game graph to give further insight into how useful it is.
We have also added to the definition of the skeletal metaphor to further improve its utility. We
have added the condition of angular constraints. This adds even more realism to the structure
of the graph and further increases its usefulness for graph interaction.
This work adds to the field of graph interaction by providing a natural system of navigating a
graph with the ability to increase the user’s understandability of the graph structure.
1.4. STRUCTURE OF THISTHESIS 7
1.4. Structure of this Thesis
Chapter 2 provides a summary of previous research in the areas of Graph Drawing, Layout
Algorithms, Graph Interaction, Physical Metaphors for Graph Interaction, Skeletal Animation
and Skeletal Animation in Graph Interaction.
Chapter 3 provides a description of the methods that we have used for simulating skeletal
animation in a graph drawing environment. It also provides the details of our implementation.
Chapter 4 describes the process of evaluating the use of the skeletal metaphor through a usabil-
ity study.
Chapter 5 concludes with a review of the project’s goals and results, and details areas that are
seen as future research possibilities.
CHAPTER 2
Literature Review
This chapter provides an overview of prior research done in the areas of research that are
applicable to this project. In each section below, the focus is on the literature that is most
relevant to the research that is documented by this dissertation.
2.1. Graph Drawing
Graphs have been used for a long time in conveying information and as a result of this a lot of
research has been done in the area of graph drawing. Graph drawing or visualisation takes the
set of nodes and edges of a graph and assigns coordinates to the nodes so that they can be drawn.
This produces a drawing that provides a geometric representation for a set of relational data.
The aim of graph drawing is to produce a picture that allows the viewer to easily understand
the information that is represented by a graph [Battista94, Battista99].
A particular embedding of a graph drawing defines the ordering of edges around each node.
While a given graph has an infinite number of possible graph drawings it has a possibly very
large but finite number of embeddings.
In an attempt to increase graph comprehensibility, graphs have been drawn in many different
ways. Polyline [Gutwenger98] (See Figure 2.1), straight-line [Eades99] (See Figure 2.2),
orthogonal [Biedl98a] (See Figure 2.3), upward [Hutton96] (See Figure 2.4) and visibility
8
2.1. GRAPH DRAWING 9
representation [Kant97] (See Figure 2.5) are often used. A graph may be drawn in two or three
dimensions.
FIGURE 2.1. An Example of a Polyline Graph Drawing (Source: [Gutwenger98]).
FIGURE 2.2. An Example of a Straight-Line Graph Drawing (Source: [Eades99]).
FIGURE 2.3. An Example of an Orthogonal Graph Drawing (Source: [Biedl98a]).
Various aesthetic criteria have been discussed which attempt to measure the readability of a
graph drawing by general optimisation goals [Esposito88, Sugiyama87, Tamassia88]. Exam-
ples of aesthetic criteria include minimisation of crossings, area, bends and maximisation of
smallest angle and symmetries [Battista94]. In many cases, it is not possible to completely
2.1. GRAPH DRAWING 10
FIGURE 2.4. An Example of an Upward Graph Drawing (Source: [Germano99]).
FIGURE 2.5. An Example of a Visibility Representation of a Graph (Source: [Kant97]).
satisfy more than one aesthetic criteria simultaneously. It is also common to have an additional
criterion requiring that certain constraints are satisfied [Dengler93]. Examples of possible con-
straints are keeping a certain vertex in a fixed position or keeping a group of vertices close
together.
2.2. LAYOUT ALGORITHMS 11
2.2. Layout Algorithms
An algorithm for producing a graph drawing is known as a layout algorithm. As a result of the
large amount of research into graph drawing, many layout algorithms have been developed that
attempt to optimise specific aesthetic criteria. Di Battista et al. provide a good review of these
[Battista94, Battista99].
There are several types of graphs that require different layout algorithms. A planar graph
can be drawn in the plane such that no two edges cross. Such planar graph drawings are
easy to understand. Methods have been discussed that test for planarity and construct a planar
embedding in linear time [Hopcroft74, Lempel67]. However, these are difficult to implement
because they are quite complicated and hard to understand.
Directed graphs have the feature that each edge has a specified direction. The visualisation
of organisational hierarchies and biochemical pathways are areas where directed graphs have
been used [Schreiber02]. When graphs are directed we desire that all edges follow the same
direction and this is the goal of upward graph drawing for directed planar graphs. Upward graph
drawings are most effective when the graph is acyclic. The Sugiyama method [Sugiyama81]
is commonly used for both planar and non-planar graphs.
The focus in this thesis is on general undirected graphs. There are a few different paradigms on
how to draw general undirected graphs and within these ideas there are many methods.
The planarisation method draws a graph using existing algorithms for planar graphs. If the
graph is nonplanar, it is made planar by replacing edge crossings with dummy vertices. A
planar graph drawing algorithm is then used to draw the graph. An example of the use of this
method is the GIOTTO system [Tamassia88].
2.2. LAYOUT ALGORITHMS 12
The orientation method draws a graph using existing algorithms for directed graphs. First
the edges of the graph are given a direction to form a directed graph. Then a directed graph
algorithm is used to draw the graph.
Force-directed methods define a system of forces acting on the vertices and edges. The graph
drawing then evolves to a minimum energy state. Force-directed methods are relatively easy to
implement, can easily be extended to three dimensions and the smooth evolution of the drawing
helps to preserve the user’s mental map as the layout changes (See figure 2.6).
FIGURE 2.6. The Evolution of a Force-Directed Graph Drawing (Source: [Davidson96]).
The first force-directed method was Tutte’s barycentre method [Tutte60, Tutte63] where each
node is positioned at the barycentre of its neighbours. It is equivalent to a system where edges
are represented as springs with natural length zero and the external face is fixed. The barycentre
method can also be used to draw planar graphs.
The spring embedder method [Eades84] represents edges as springs with unit natural length
and non-connected vertices in the graph are connected by springs in the system with infinite
2.2. LAYOUT ALGORITHMS 13
natural length. As a result connected vertices are attracted to each other unless they are closer
than unit length together. In that case they will repel each other. Non-connected vertices will
repel each other. The system is then let go until a minimum energy state is reached.
In the work of Kamada et al., springs are placed between every pair of vertices. The natural
length of each spring is set to the graph-theoretic distance between the vertices [Kamada89].
Simulated annealing is used by Davidson and Harel [Davidson96] to reduce the energy of a
system. Simulated annealing is an optimisation technique that uses an energy function. The
energy function used by Davidson and Harel was based on the various aesthetic criteria and
weights could be used to emphasize particular criteria.
Force-directed methods do have problems. There are situations where a force-directed ap-
proach results in unfavourable drawings as the nodes can get stuck in a local minimum. This
can be due to poorly chosen initial layouts. It is also often difficult to know when a graph
has reached a minimum energy state, making stopping criteria hard to determine. This con-
tributes to a poor running time for force-directed methods as the number of nodes increases.
As a result, work has been done that uses heuristics to determine the quality of a graph drawing
[Behzadi99]. The results of these heuristics are used to generate an initial layout, move nodes
out of local minima and provide effective stopping criteria.
A modification of Eades’ work is presented by Fruchterman and Reingold [Fruchterman91].
It uses a heuristic that emphasises uniform edge lengths to provide an efficient force-directed
graph drawing algorithm.
Force-directed methods are widely used in the graph drawing field and many different force-
directed algorithms exist. This has produced a need for the evaluation of these methods.
Brandenburg et al. experimented on five graph drawing algorithms for general undirected
graphs. A wide collection of examples was used and different settings of parameters applied
2.2. LAYOUT ALGORITHMS 14
[Brandenburg96]. This evaluation confirmed the good performance of force-directed meth-
ods.
Sugiyama and Misue [Sugiyama95] apply magnetic fields to force-directed graph drawing. A
magnetic field is pre-specified and the forces on each are calculated such that they are brought
into alignment with this magnetic field.
Bertault introduced a force directed graph drawing algorithm which preserves the embedding of
an initial drawing [Bertault00]. The algorithm works like a classical force-directed algorithm
with one main difference: for each node, the maximum amplitude of a move is restricted to stay
within a zone that is calculated such that edge-crossing properties are preserved. The algorithm
thus can improve symmetry and uniformity of edge lengths, while for example preserving the
planarity of a drawing.
Force-directed methods are used for a wide variety of graph drawing applications. Recent
work has applied force-directed graph drawing algorithms to the game of hex [Murray03 ].
There exists an intuitive mapping of the state of a Hex game onto an undirected graph. This
graph representation can increase the player’s ability to find good moves/strategies if a good
graph drawing is provided. Two force-directed methods are combined to produce a planar
graph drawing with uniform edge lengths. The edge-crossings are removed by the Tutte al-
gorithm [Tutte60, Tutte63]. The force-directed algorithm preserving edge crossing properties
[Bertault00] is then used to improve symmetry and uniformity of edge lengths without intro-
ducing any edge crossings.
Force-directed methods can easily be extended to three dimensions. Bruβ and Frick [Frick94,
Bruβ96] have developed a force-directed method and extended it to three dimensions. These
methods are designed to be very fast in order to be suitable for interaction.
Dwyer [Dwyer01] has applied three dimensional graph drawing to the area of UML diagrams.
He used a variety of force-directed methods including springs and magnetic fields.
2.2. LAYOUT ALGORITHMS 15
While force-directed methods are useful, other methods have also been used for drawing graphs
in three dimensions. Orthogonal graph drawing is one such method. Minimising the number of
bends is an important aesthetic in orthogonal graph drawing. Eades et al. have presented two
algorithms for drawing three dimensional orthogonal graphs that are designed to achieve this
goal [Eades97].
Traditionally orthogonal graph drawings restricted the degree of the graph that could be drawn.
Two dimensional graphs were restricted to degree 4 and three dimensional graphs were re-
stricted to degree 6. Biedl et al. have introduced methods for drawing orthogonal graphs of any
degree in both two and three dimensions [Biedl98b, Biedl99].
Another common method of drawing graphs is the visibility representation. Bose et al. de-
signed a three dimensional visibility representation of graphs [Bose98]. In the three dimen-
sional visibility representation, vertices are mapped to rectangles parallel to the x,y-plane, with
edges represented by vertical lines of sight.
2.3. GRAPH INTERACTION 16
2.3. Graph Interaction
Graph interaction techniques determine how the graph reacts to actions by the user. The main
problem in graph interaction is providing a mechanism that will ensure that the graph becomes
and remains understandable as the user navigates the graph. It is desirable that the graph will
react in a way that is natural and intuitive [Merrick02 ]. Graph interaction techniques attempt
to provide solutions for this problem.
Evaluation of the benefits provided by the aesthetic criteria has produced mixed results [Batini85,
Ding90, Purchase97, Purchase00]. In any automated graph drawing system there will be situ-
ations where the initial graph drawing provided is not easy to understand. By providing the user
with a mechanism for changing the layout of the graph we facilitate a potential increase in the
users understanding of the graph. Studies into the effectiveness of graph interaction techniques
in increasing comprehensibility support this [Herman00].
A number of techniques have been used to aid the interaction of a user with a graph. Methods
that effectively only change the view of the graph include the operations of rotation, scaling
and translation. Scaling with the use of a zoom function has two variations. Simply increasing
or decreasing the size of the graph is referred to as geometric zooming. Semantic zooming is
a method that is often used for large and clustered graphs. This method actually changes the
information content by increasing or decreasing the level of detail.
A problem that can occur with zooming techniques is that a zooming in operation often results
in a loss of context. This means that while the user gains additional details, they cannot identify
the relationship between the current focused view and the rest of the graph. Focus+context
techniques such as fisheye distortion [Furnas86] attempt to solve this problem by allowing the
user to focus on some detail without losing the context. Fisheye views achieve this by zooming
in on the area of interest while showing other portions of the graph with successively less detail
(See figure 2.7). Many other distortion techniques have been used. Leung & Apperley provide
a good review of these [Leung94].
2.3. GRAPH INTERACTION 17
FIGURE 2.7. Fisheye view of a regular grid of the plane (Source: [Herman00]).
Often graphs are so huge that it is extremely difficult to handle the full graph at any one time.
Graphs which often fall into this category are World Wide Web graphs. For huge graphs,
incremental exploration techniques are often used [Eklund99, Huang98b, Huang98a]. With
these techniques, the system only displays a small part of the graph at a time. Different parts
of the graph are displayed as needed.
In addition to these aspects that control the view of a fixed graph drawing, there are meth-
ods [Merrick02 ] that allow the user control over the positions and orientation of the nodes
themselves, facilitating modification of the graph layout. These methods give the user greater
control over how the graph is drawn as the embedding of the graph can also be changed, effec-
tively allowing the user to arrange the graph in any way possible. It is these types of methods
for graph interaction that we will be focusing on in this thesis.
While we want to give the user a degree of freedom in navigating the graph, we also want to
maintain some control over the layout of the graph that will require certain properties remain
unchanged. Placing such constraints over the control of the graph will help to ensure that
we continually provide an aesthetically pleasing graph drawing and this will assist the user
in finding an understandable layout. In addition it may reduce the time taken for the user to
achieve such a layout.
When a graph is drawn in two dimensions it is easier for a user to navigate the graph. In terms
of changing the view of the graph, interaction in two dimensions is usually limited to scrolling
or zooming and this is only necessary for graphs that exceed the size of the screen. It is the
2.3. GRAPH INTERACTION 18
positions of the nodes and the way in which the edges are drawn that will determine how easily
the graph can be understood, as these factors alone will determine the aesthetic properties of
the graph. This is because there is no depth to the drawing. As a result, it is methods that
allow the user to change the graph layout that are most important for two dimensional graph
interaction. Mechanisms that allow layout changing modifications are usually only necessary if
the drawing provided by the original layout algorithm is incomprehensible. There will always
be some situations where this is the case, and therefore such mechanisms are important.
The benefits of providing interaction can be seen in the work of do Nascimento & Eades
[Nascimento02], where user actions were used to make improvements to two dimensional
graph drawings. Modifications to the graph layout provided by the user were used as additional
input to a genetic algorithm. These hints provided by the user provided a basis for the system
to improve the drawings. It also helped to provide drawings that were better than they would
have been without user interaction.
When a graph is drawn in three dimensions, navigating the graph is much more difficult. On
regular displays the user is only seeing a two dimensional projection of a three dimensional im-
age. In any given view, it is likely that part of the graph will be obscured due to the additional
depth of the drawing and lack of depth of the display device. The user will need to be able
to change their view of the graph in order to experience all three dimensions. In any number
of dimensions it is good to start with a good graph drawing. However, in three dimensions, in
addition to the positions of the nodes, an important aspect that will determine how easily a user
can understand the graph structure is their ability to modify their view of the graph. Graph In-
teraction in three dimensions is even more important than in two dimensions as there are many
additional factors that could lead to an original graph drawing being incomprehensible. This
also makes graph interaction in three dimensions a more difficult problem. Three dimensional
graph drawing mechanisms need to provide the ability to change both the layout and view of
a graph. Also, these mechanisms are more complicated in three dimensions. There are many
more ways in which the layout can be changed as node movement isn’t restricted to a single
2.3. GRAPH INTERACTION 19
plane, and when changing the view, rotation needs to be provided in addition to translation and
zooming.
Not only is graph interaction in three dimensions more difficult, it is also more necessary. As
drawing graphs in 3D is more complicated, there are likely to be even more situations where
the initial graph drawing is difficult to understand.
Graph interaction is a field that has become more prevalent due to a more widespread use of
three dimensions in graph drawing. There are a number of reasons why this is the case. Us-
ability studies [Ware93, Ware94, Ware96, Cockburn01] have shown the benefits of three
dimensional drawings over two dimensional drawings. These studies have shown that three
dimensional drawings are more easily understood, that it is easier to follow the structure of
the graph and that it feels more realistic and natural. A wider availability of hardware capa-
ble of drawing graphs in three dimensions has also lead to three dimensional graph drawings
becoming more widespread.
While there have been studies showing the benefits of three dimensional drawings, there are
also studies claiming that it is better to draw graphs in two dimensions [Nielsen98]. Cases
where three dimensions have been shown to be not useful may be due to a poor interaction
model, as a good interaction model would have improved the understandability of the graph.
There are certainly cases where three dimensional graph drawings are useful and they can only
become more useful with a good interaction model [Cockburn01]. A good interaction model
will ensure that the benefits of three dimensions are fully realised. While graph drawing is a
field that has been thoroughly explored [Battista94, Battista99], graph interaction remains a
relatively new field and novel methods that aid the user’s understanding of the graph structure,
particularly in three dimensions, are still required.
While navigating the graph visualisation space, the user spends a reasonable amount of time
building a mental map [Gould86, Eades91, Misue95] of the structure of the graph. Being able
to maintain and add to this mental map as they navigate the graph is essential for developing
2.3. GRAPH INTERACTION 20
an understanding of the structure of the graph. The graph interaction mechanism must not
make drastic, unintuitive changes to the drawing of the graph. Graph animation [Friedrich02]
is a method that demonstrates the transition between drawings of a graph. An intuitive graph
interaction mechanism, with the aid of animation allows the user to easily follow the transition
from the initial graph drawing to the final graph drawing. Animation, when applied through
successive layouts of a graph that do not differ significantly, ensures that the mental map is
maintained.
The simplest way of providing graph interaction is to use an adaptive graph drawing algorithm.
An adaptive graph drawing algorithm produces a drawing that is dependent upon the initial
geometric properties given to the graph. These types of algorithms take a graph drawing as
input and their aim is to improve upon it. Adaptive graph drawing algorithms are useful for
graph interaction tasks as they are more likely to preserve the user’s mental map. The speed
requirements of an algorithm used for graph interaction are generally higher than that of general
graph drawing. Algorithms developed with graph interaction in mind [Bruβ96] are designed
to be very fast.
2.4. PHYSICAL METAPHORS FORGRAPH INTERACTION 21
2.4. Physical Metaphors for Graph Interaction
One method used in graph interaction involves placing a physical metaphor on the structure
of the graph such that the graph responds to movements of nodes in a way corresponding
to the physical metaphor. A common physical metaphor in undirected graph drawing is the
force-directed paradigm and this idea is easily extended to graph interaction as force-directed
algorithms are adaptive. Forces are recalculated as the user moves a node and the position of
the nodes are updated accordingly. The aim of a physical metaphor is to provide behaviour that
is naturally experienced in everyday life and therefore easy to understand, follow and predict
when applied to graph interaction.
Skeletal animation is a concept that has been applied to the creation of realistic motion for the
lifelike computer-generated characters seen in today’s motion pictures and computer games.
Recent work has applied this physical metaphor to the field of graph interaction [Merrick02 ].
The skeletal metaphor maps nodes of a graph to joints of a skeleton and edges of a graph to
the bones of a skeleton. A simplified view of a skeleton is that joints can be rotated and bones
remain at a constant length. Merrick has used skeletal animation to smoothly animate the graph
layout according to the movement applied by the user as well as various underlying constraints
forced on the graph’s skeleton. By applying these constraints on a graph he provided a physical
metaphor that feels natural to the user. It produces a graph interaction environment such that
the structure of the graph is easy to understand and the time taken in navigating the graph is
reduced. Merrick has introduced the skeleton as a physical metaphor for graph interaction and
has opened up many possibilities for future work in graph interaction.
2.4. PHYSICAL METAPHORS FORGRAPH INTERACTION 22
The definition of a skeleton provided by Merrick is:
A skeleton is a set of joints (J) and a set of bones (B). Each jointj ∈ J is connected by a set
of bonesBj ⊆ B to set of jointsjADJ ⊆ J, |jADJ | > 0.
There exist constraints on the skeleton that should be preserved:
- The lengthlb of each boneb ∈ B should not change.
- Given a set of jointsF ⊆ J , termed the fixed point set, each jointj ∈ F should remain
at its initial location in Euclidean space.
2.5. SKELETAL ANIMATION 23
2.5. Skeletal Animation
Skeletal animation is an area that is commonly used in the areas of computer games and mo-
tion pictures. As a result a large number of techniques have been developed that control the
movement of a skeleton in a way that is designed to appear natural to the viewer.
Skeletal animation is also used in the area of robotics where it is referred to as the study of
the motion of articulated bodies. Many of the methods used for skeletal animation were first
developed for use in robotics, especially in the area of inverse kinematics.
Throughout this thesis we are primarily concerned with dynamics-based modelling of artic-
ulated structures, and thus do not cover in detail the issues involved with kinematics-based
approaches to skeletal animation. We will however give a brief summary of the most important
literature in this area.
Inverse kinematic methods move a joint to a desired position while controlling the movement
of several other joints and taking into account positions of fixed joints, bone lengths and joint
angles. Korein and Badler referred to this concept as "goal-directed motion" [Korein82]. An
example of this can be seen in figure 2.8 where the red node is the end-effector and the top node
is fixed. There are potentially an infinite number of such configurations which result in the end-
effector moving to the desired point in space. There are also situations where it is impossible
to move the node to the desired location. In this case, the aim is to get it as close as possible to
the goal location.
Situations where there are a finite number of final configurations are more likely to occur in
the field of robotics where articulated bodies typically have fewer joints and are less complex.
These situations have been solved using a system of nonlinear equations [Paul81, Brady82].
The use of these methods has been limited by the difficulty in solving the equations and the
small likelihood that there will be a finite number of final configurations.
2.5. SKELETAL ANIMATION 24
FIGURE 2.8. Initial Configuration showing Desired End-Effector Position and
a Possible Final Configuration (Source: [Merrick02 ]).
The method of resolved motion rate control [Whitney69] can be used in situations where there
are an infinite number of possible final configurations. This technique calculates the inverse
of the Jacobian matrix in order to implement an iterative algorithm where each step moves
the end-effector closer to the desired end-effector position. The use of this method is limited,
however, as the Jacobian matrix is not always invertible. In this case, the pseudoinverse can be
used [Klein83, Girard85], but it can become unstable. It can be made more stable by using
Singular Value Decomposition (SVD) [Maciejewski90] but it does result in relatively high
additional runtime cost. The Jacobian transpose has proved useful [Wolovich84, Sciavicco87,
Welman93] in situations where high accuracy is not required.
An alternative to the methods based on the Jacobian matrix is a heuristic-based approach re-
ferred to as Cyclic Coordinate Descent (CCD) [Wang91]. CCD is an iterative approach that
involves visiting each joint in an articulated chain in turn. By visiting a single-joint at at time,
the problem is reduced to a simpler optimisation problem.
The inverse kinematics problem can also be approached from a nonlinear optimisation point-
of-view [Badler87, Zhao94]. This approach has been widely used for computer animation
involving articulated structures.
While inverse kinematics techniques operate on the geometry of articulated structures, with
dynamics, all interactions with the system are modelled as forces acting upon rigid and articu-
lated bodies. Inverse kinematics techniques have been useful for robotics, and as a result, it has
been the topic of the majority of research in skeletal animation. However, there has also been
2.5. SKELETAL ANIMATION 25
some development of dynamics-based techniques, a lot of which has been driven by the need
for skeletal animation techniques in computer games, where the main goals are believability
and speed of execution.
In order to achieve believability, dynamics-based techniques focuses on emulating motion as
seen in real environments. These methods are less focused on goal directed motion. These
methods use an iterative approach where, at each iteration, the forces upon the particles that
make up a body, are summed in order to determine their following positions. This process is
repeated in order to generate motion.
The dynamics-based algorithms are described further in Chapter 3 on page 29 of this thesis,
where they are used as a basis for the implementation of a graph interaction environment using
skeletal animation. We give a brief overview here.
The traditional methods [Witkin97 ] for dynamics-based skeletal animation use Euler integra-
tion using Newton’s law for particle simulation. Bones connecting particles are simulated by
springs. The major problem with this approach is its speed as well as the difficulty in choosing
parameters that will make the springs appear stiff while remaining stable.
Dynamics-based algorithms were developed by Jakobsen [Jakobsen01] to control the physics
systems in computer games. These algorithms were designed to be well suited to interactive
use and improve upon traditional approaches by providing a faster and more stable system.
2.6. SKELETAL ANIMATION IN GRAPH INTERACTION 26
2.6. Skeletal Animation in Graph Interaction
Merrick was the first to apply skeletal animation techniques to graph interaction (See figure
2.9) [Merrick02 ]. These methods were previously used in the fields of inverse kinematics and
dynamics.
The inverse kinematics methods used were based on the CCD [Wang91] method and the NLP
[Badler87, Zhao94] method. The first method used a multiple chain version of the CCD
method to simulate a skeletal structure. The second method involved the formulation of the IK
problem as input to a nonlinear programming module, including the addition and implementa-
tion of various constraints. A naive dynamics-based approach was explored as a third method,
which was based on a force-directed graph drawing algorithm. The parameters were chosen
in an attempt to create extremely stiff springs with limited success in terms of it’s ability to
simulate the skeletal metaphor. Obviously, the focus of the previous work was on inverse kine-
matics. There remains scope for a study into dynamics-based techniques for skeletal animation
applied to graph interaction.
As inverse kinematics techniques were mostly developed for use in robotics, they are designed
to be very realistic. Dynamics-based techniques have typically been developed for computer
games and don’t need to be entirely realistic as long as they give the illusion of realism. We
have similar goals for graph interaction. Therefore, dynamics-based techniques may be more
suited for graph interaction purposes. This further supports investigation into dynamics-based
skeletal animation techniques for graph interaction.
The previous approaches used to implement the skeletal metaphor in a graph interaction system
provided a natural way for the user to navigate a graph. However, these methods could be im-
proved upon in terms of the satisfaction of the constraints defining the skeleton, the naturalness
of the motion and the ability to preserve a user’s mental map between successive configurations.
2.6. SKELETAL ANIMATION IN GRAPH INTERACTION 27
FIGURE 2.9. An example screenshot from the first system developed for skele-
tal animation in graph interaction (Source: [Merrick02 ]).
In the previous work, the CCD & force-directed approaches resulted in a stretchiness of bones.
This violates the prescribed skeletal metaphor and damages the perception that a physical entity
is being manipulated.
The CCD method became very slow in some cases in the previous system. For a graph inter-
action system to be useful it must be useable in real-time, which was not always true of this
approach.
The motion should also remain smooth and natural as is the intention of the skeletal metaphor.
The NLP method provided jumpy motion and this limited its usefulness significantly.
Methods used in the previous work all have advantages and disadvantages both in terms of their
satisfaction of the skeletal metaphor and in their usefulness in graph interaction. It would be
desirable to use a technique that achieved and combined the advantages of the previous methods
2.6. SKELETAL ANIMATION IN GRAPH INTERACTION 28
without the disadvantages. There are many techniques used for skeletal animation that could
achieve this. There remains a large gap in the research for experimentation with new techniques
for skeletal animation in this area. However, it is also important to find those that will be best
suited to graph interaction. An ideal technique would both provide simulation of the skeletal
metaphor and at the same time will be useful for graph interaction tasks. There is large potential
for improvement upon the existing work by providing a highly responsive system that helps to
increase the user’s understanding of the graph by staying true to the skeletal metaphor.
The previous work in this area has mentioned domains in which the skeletal metaphor could
be useful. The domains mentioned were PERT diagrams, cluster trees and graphs containing
an inherent hierarchy. It is still necessary to evaluate the usefulness of the skeletal metaphor in
these and other domains as well as in the general case.
There is still a significant need for empirical results indicating the advantages and disadvan-
tages, if any, of using a skeletal metaphor over other types of interaction with graph visualisa-
tions. Previous evaluation of the usefulness of the skeletal metaphor was inconclusive due to
the limited scope of the survey undertaken. There remains a gap in the research that could be
filled with a more comprehensive user study in order to produce solid evidence of the useful-
ness of the skeletal metaphor. It is also important to evaluate the usefulness of each technique
in simulating the skeletal metaphor.
Another area in which the skeletal metaphor in graph interaction has been explored is in apply-
ing it to large web graphs using clustering methods [Belista03]. Clustering methods are used
reduce the size of the graph to be displayed and to combat the massive information problem.
CHAPTER 3
A System for Force-Based Skeletal Graph Interaction
This chapter describes the methods used during the course of this research project, as well as
implementation details for the system used for the evaluation given in Chapter 4. Section 3.1
details the method described by Jakobsen [Jakobsen01] and also describes the nature of many
dynamics-based methods used for computer games [Witkin97 ]. Section 3.2 describes how we
have adapted this technique to create a graph interaction environment. It also details several
additional aspects that needed to be added in order for the method to be specifically designed
to be useful for graph interaction.
3.1. A Particle System for Skeletal Animation
With the graph modelled as a skeleton we need an algorithm to ensure that the skeletal con-
straints are maintained as the user modifies the positions of the nodes. The skeletal animation
algorithms [Jakobsen01] that we have used form a dynamics-based approach. These algo-
rithms were adapted from the work of Jakobsen. Jakobsen’s work was designed to control the
physics systems in computer games, specifically IO Interactive’s "Hitman: Codename 47" (See
figure 3.2), where the major concerns are believability and speed of execution. One respon-
sibility of the physics system is the simulation of articulated bodies. An articulated body is
composed of solids and joints which define the range of motion allowed by the different parts
of the body. The result is a structure that is very similar to that of a graph. Articulated bodies are
often used to represent the skeleton structure of computer games characters (See Figure 3.1).
As the physics system was designed for computer games, it provides simulation of a skeleton
29
3.1. A PARTICLE SYSTEM FORSKELETAL ANIMATION 30
that appears natural to the viewer, and is fast, stable and well suited for interactive use. One
way in which it has been used is for the dragging of articulated bodies around an environment
(See figure 3.2). In many ways this is very similar to graph interaction. These algorithms are
highly suitable for skeletal graph interaction because they have been specifically designed with
interactive dragging of articulated bodies in mind.
FIGURE 3.1. An Articulated Figure Representing a Character’s Skeleton
(Source: [Jakobsen01]).
The physics system created by Jakobsen (2001) consists of these features:
• a Verlet integration scheme
• handling collisions and penetrations by projection
• a constraint solver
• a square root approximation that reduces the processing time
• modelling rigid and articulated bodies as particles with constraints
3.1. A PARTICLE SYSTEM FORSKELETAL ANIMATION 31
FIGURE 3.2. Dragging an Articulated Figure around an environment in IO In-
teractive’s "Hitman: Codename 47". (Source: http://www.ign.com).
Particle simulation is an important part of a physics system. The most commonly used method
for particle simulation is Euler integration using Newton’s law. In Euler integration each par-
ticle has two variables, its positionx and its velocityv. In each time step the position and
velocity values of the particle are updated. The new valuesx′ andv′ are given by:
x′ = x + v ·∆t
v′ = v + a ·∆t
where∆t is the time step, anda is the acceleration computed using Newton’s lawf = ma.
The forcef is the accumulated force acting on the particle by elements in the environment such
as gravity.
The physics system [Jakobsen01] uses a Verlet integration scheme [Verlet67] for its particle
simulation. Verlet integration schemes use a velocity-less representation. The information
3.1. A PARTICLE SYSTEM FORSKELETAL ANIMATION 32
stored consists of a particle’s current positionx and it’s previous positionx∗. The new values
using Verlet integration are given by:
x′ = 2x− x∗ + a ·∆t2
x∗ = x
This works similarly to Euler integration as2x − x∗ = x + (x − x∗) andx − x∗ provides an
approximation of the velocity of the particle. Verlet integration is faster and more stable than
Euler integration because it is harder for the velocity and position to come out of synchronisa-
tion. This has allowed it to be useful for simulating molecular dynamics.
Common methods for handling collisions and contact of particles with the environment have
a number of disadvantages that can make them unsuitable for interactive use. One method
handles collisions by inserting springs at the penetration points. In this case, it is difficult
to choose spring constants such that the system remains stable and accuracy is maintained.
Another method goes back in time to the exact point of collision, where it handles the collision
analytically before restarting the simulation. This method is likely to run very slowly when
there are a lot of collisions making it impractical for interactive applications.
In the physics simulation collisions are handled by projection. This means moving the point
perpendicularly out from the collision surface as little as possible until it is free of the obstacle,
ensuring particles are kept inside the valid environment. This works well with the Verlet inte-
gration scheme as corresponding changes in velocity will be handled automatically and there is
no need to directly cancel the velocity in the normal direction. The motion of particles within a
box environment using Verlet integration can be seen in figure 3.3. This method is also fast and
simple to implement making it suitable for interactive use. Also, as we will see in the following
sections, it works particularly well with constraint satisfaction for rigid or articulated bodies.
In a physics system particles are often connected by springs to model rigid bodies or cloth.
The problems with this approach are once again associated with the choice of parameters. It is
3.1. A PARTICLE SYSTEM FORSKELETAL ANIMATION 33
FIGURE 3.3. Motion governed by Verlet integration within a box environment.
(Source: [Jakobsen01]).
difficult to find a balance between weak springs that appear too elastic and strong springs that
cause instability in the equations. It is also difficult to solve the differential equations used in
this method.
FIGURE 3.4. The stick constraint is validated by moving the particles closer
together or further apart (Source: [Jakobsen01]).
The algorithms of the physics system model the connections between particles as infinitely stiff
springs. These springs will instantly reach their rest length and are effectively more like sticks
than springs. This makes them highly suitable for modelling bones of a skeleton. For each stick
connecting two particles, the particles must be placed such that the distance between them is
equal to the desired length of the stick. After the movement of a particle takes place due to a
Verlet integration step, the stick length may have become invalid. This constraint is validated
by moving the particles away from each other or pulling them closer together, depending on
whether the length of the stick joining them, is too large or too small (See figure 3.4). This is
highly suited to an interactive application as it is a very fast and simple approach.
3.1. A PARTICLE SYSTEM FORSKELETAL ANIMATION 34
The pseudo-code for satisfying the stick-length constraint is:
delta = x2-x1
deltalength = sqrt(delta · delta)
diff = (deltalength-restlength)/deltalength
x1 += delta*0.5*diff
x2 -= delta*0.5*diff
There are two constraints governing the system that must be satisfied. These are keeping par-
ticles within the environment and maintaining ideal stick lengths. The satisfaction of either of
these constraints can lead to the invalidation of the other. To ensure that length and collision
constraints are both satisfied, local iteration is performed, where the two constraint solvers are
repeatedly run after each other. After a number of iterations the positions of the particles con-
verge to a valid solution. This iterative method can be stopped at any time depending on the
level of accuracy required, allowing for a time/accuracy trade-off.
This physics system also has a further speed up mechanism if required making it even more suit-
able for interactive use. The costly square root operation that takes place in the stick constraint
satisfier can be approximated. This approximation uses the fact that as long as the constraints
are satisfied, or close to it, the result of the square root operation should be the rest length of the
stick. Also, if the distance between the particles is already correct then no change is necessary.
The square root function is approximated by its 1st order Taylor-expansion at a neighborhood
of the squared rest length. The pseudo-code for satisfying the stick-length constraint becomes:
delta = x2-x1
delta *= restlength*restlength/
(delta · delta+restlength*restlength)-0.5
x1 += delta
x2 -= delta
3.1. A PARTICLE SYSTEM FORSKELETAL ANIMATION 35
Rigid bodies are modelled as particles connected by sticks governed by constraints. Articulated
bodies are modelled by connecting rigid bodies. It is possible to connect multiple rigid bodies
by hinges and pin joints. Simply let two rigid bodies share a particle, and they will be connected
by a pin joint (See figure 3.5). Share two particles, and they are connected by a hinge (See figure
3.6). This provides an intuitive mapping from the particle system to a skeleton where particles
are mapped to joints and sticks are mapped to bones.
FIGURE 3.5. Two rigid bodies connected by a pin joint to form an articulated
body (Source: [Jakobsen01]).
FIGURE 3.6. Two rigid bodies connected by a hinge joint to form an articulated
body (Source: [Jakobsen01]).
Angular constraints can add further realism to the particle system. One method given by Jakob-
sen uses additional constraints that are defined for each joint connecting two sticks (See figure
3.7). The constraints are that the distance between the unconnected particles of the sticks form-
ing the joint cannot fall below some threshold. These constraints are enforced in the same way
as the stick constraints in the case where the stick length is less than it’s ideal length. This
method effectively prevents some particles from coming too close together.
FIGURE 3.7. The length of the dotted line must exceed some threshold. This
simulates an angular constraint. (Source: [Jakobsen01]).
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 36
3.2. Implementation of the Particle System in a Graph Interaction Environment
We have implemented this particle system into a graph interaction environment in Java, using
Java3D for its graphics routines. The process that is followed is illustrated in the flowchart in
figure 3.8.
FIGURE 3.8. A simplified outline of the execution process of our implementa-
tion of the particle system in a graph interaction environment.
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 37
In our system the graph is modelled as an articulated body with joints representing nodes and
bones representing edges. Our implementation allows the user to drag the nodes of the graph
around and the graph will respond according to the underlying physics engine.
Merrick applied the skeleton to only part of the graph [Merrick02 ]. Some of the techniques
used by Merrick could only be applied to limited cases. As a result, he used a preprocessing
step to determine the subgraph that would represent the skeleton. We have modelled the entire
graph as a skeleton because the technique that we have used can be applied to any graph.
Verlet Integration
As a node is dragged around the environment momentum is generated in the other nodes. The
Verlet integration scheme is used to determine the positioning of the nodes. There was a prob-
lem that no friction existed in the system and the graph would tend to float around endlessly,
never settling. The equations governing the Verlet integration scheme were modified to intro-
duce drag into the system. Jakobsen suggested the equationx′ = 1.99x − 0.99x∗ + a · ∆t2 to
introduce drag. However, this provided no noticeable difference. After some experimentation
we used the equationx′ = 1.75x − 0.75x∗ + a · ∆t2 which reduced the floating sensation and
ensured the graph would settle quickly. This also gave the graph the impression of a rigid,
physical structure as is the nature of a skeleton. We also don’t have any need for gravity in our
system, so the equation simplifies tox′ = 1.75x− 0.75x∗.
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 38
The pseudocode for the Verlet integration step is:
FOR each particle p
IF p’s location is not fixed THEN
store p’s current location in temp
p.currentX = 1.75*p.currentX - 0.75*p.oldX
p.currentY = 1.75*p.currentY - 0.75*p.oldY
p.currentZ = 1.75*p.currentZ - 0.75*p.oldZ
p’s old location = temp
END IF
END FOR
Bounding Environment Constraints
A cube is used as the environment in which the graph must remain. Collisions and penetrations
are projected onto the inside of the cube and when dragging a node the user cannot move this
node outside the cube. Other nodes which move due to the momentum created by this drag
and the stick constraints, will also stay within the environment. This allows us to restrict the
movement of the graph within a small area and keeps the user’s focus on this area. The use of
this cube is optional and it when it is used only the outline is visible. This ensures that the user
will not be not be distracted by it.
Edge Length Constraints
As a node is dragged around, the edge length constraints are enforced by the constraint solver
(See Figures 3.9, 3.10). This ensures that as a node is dragged surrounding nodes will move
closer or further away from the dragged nodes in order to maintain the constraint. This creates
a natural feel in the system as the edges remain at constant length, similarly to the bones of a
skeleton.
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 39
Iterative Constraint Solver
For each frame the iterative constraint solver is run to ensure collision and stick length con-
straints are satisfied. It also helps to preserve the user’s mental map by providing a smooth
animation from one configuration of the graph to the next. In practice we found that only a
very small number such as 5 iterations of the constraint solver were necessary. This is enough
to reduce any large violations of the constraints. Any remaining violations in the constraints
will be small and will not be noticed by the user. Also, the satisfaction of constraints will
converge further over subsequent frames. Increasing the number of iterations does not provide
significant improvement in terms of constraint satisfaction believability. With a large increase
in the number of iterations performance can become an issue for large graphs, actually reduc-
ing the natural feel of the structure rather than increasing it. The pseudocode for the constraint
solver is:
FOR each iteration
FOR each particle p with current location x
x = componentWiseMin(componentWiseMax(x,minBox),maxBox)
END FOR
FOR each edge connecting particles x1 & x2
delta = x2-x1
deltalength = sqrt(delta · delta)
diff = (deltalength-restlength)/deltalength
IF x1’s location is not fixed THEN
x1 += delta*0.5*diff
END IF
IF x2’s location is not fixed THEN
x2 -= delta*0.5*diff
END IF
END FOR
END FOR
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 40
FIGURE 3.9. Initial Configuration Showing Desired Position of End-Effector.
FIGURE 3.10. Movement of the Node to the Desired Position followed by the
Constraint Solver Produces the Final Configuration.
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 41
Fixed Node Constraints
An additional aspect necessary for satisfying the definition of a skeleton but not handled in
the original physics system is that of fixed joints. In any graph interaction environment it is
desirable for the user to be able to fix nodes so that they will remain in the same location.
The user can select nodes to be fixed or can unfix nodes at any time. We have implemented
this in our system by adding the constraint that the subset of nodes that is fixed cannot move.
This is a hard constraint and is given priority over the other constraints so that the fixed nodes
will not move from the set position at all. This introduces a problem in ensuring that the edge
length constraints are satisfied, for example, if two nodes connected by a stick are fixed. If
the user drags one of these nodes away the edge will increase in length and the constraint will
be violated as the system cannot move either node in an attempt to satisfy the constraint (See
Figures 3.11, 3.12).
FIGURE 3.11. As neither node is fixed, the edge-length constraint is easily satisfied.
FIGURE 3.12. Both nodes are fixed. It is not possible to satisfy the edge-length
constraint, as moving the nodes closer together would violate the fixed nodes
constraint.
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 42
Error Threshold
To remedy this problem we have placed restrictions on how the user can drag nodes around.
Movements of nodes that will violate an edge length constraint significantly are not allowed.
This allows us to maintain some freedom of control for the user while still providing the nat-
ural feel of the skeletal structure. A threshold that measures the sum of violations across the
entire graph is used to determine if the extent of a violation is acceptable. Once the maximum
threshold is reached, movement will be limited to actions that reduce or maintain the current
extent of violations. After reducing the extent of the violations, the user will then once again be
able to make movements freely. This provides restrictions on the movement that more closely
resemble a physical structure as is the nature of the skeleton. As a result, it is expected to
provide a more natural feel and be more effective at maintaining the skeletal structure. In our
system, we have provided a mechanism for navigating the graph with or without the threshold
restrictions. These two techniques are used as a basis for part of the usability study in Section
4.1.
Our implementation can be used with or without the square root approximation mentioned in
Section 3.1. However, because of the addition of fixed nodes in space, the constraints of the
system are less likely to be satisfied. When using the square root operation it is important to
also use a low threshold to ensure that the constraints are at least close to being satisfied. The
square root approximation does not seem necessary on smaller graphs but as the size of graphs
increases it could be used to reduce the processing time helping to ensure a fast response to the
user actions.
Visual Cues
We also provide visual cues as to where and by how much violations are occurring. A signifi-
cant edge length violation will result in a change in colour of the edge to red. Also, the width
of the edge will decrease if the edge is stretched and will increase if the edge is compressed
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 43
(See Figures 3.13, 3.14). The visual cue of highlighting fixed nodes in pink is also provided to
ensure the user is aware of the subset of fixed nodes.
FIGURE 3.13. All constraints are satisfied. This is indicated by green edges of
standard width.
FIGURE 3.14. Some edge-length constraints are not satisfied. This is indicated
by edges of varying width and colour.
3.2. IMPLEMENTATION OF THE PARTICLE SYSTEM IN A GRAPH INTERACTION ENVIRONMENT 44
Determining the Graph Structure and Initial Layout
When drawing a graph in our system we not only need to know the set of nodes and edges but
also what the ideal length of each edge will be. In some domains, graph edges have associated
weights and these can be used directly to determine the ideal edge lengths. In other cases
determining the edge lengths may not be so straight-forward. A common aesthetic property
desired in graph drawings is that of uniform edge-lengths, where all edges in the drawing have
approximately equal lengths. In our system, the edge-lengths are provided as input along with
the set of nodes and edges. The initial layout of nodes is produced randomly. The constraint
solver then improves the drawing. The drawing can then be further improved by the user, as is
the aim of our system.
The Addition of Angular Constraints
Our original definition of a skeleton does not specify any angular constraints. However, in
terms of graph navigation, there is a possible benefit of implementing angular constraints as it
would keep nodes from getting too close together. We have implemented angular constraints
in our system by a similar method to that suggested by Jakobsen. We have applied forces
between unconnected nodes. Unconnected nodes whose distance is less than a threshold are
repelled from each other. The forces on each node are summed in a way similar to force-
directed methods and nodes are moved in the direction of the force. The calculation of forces
and movement of nodes is performed within the constraint satisfaction loop. While this is not
always an accurate way of providing angular constraints, it is fast and simple and provides a
realistic feel most of the time. This method not only adds realism to the skeletal structure, it
also provides aesthetic benefits. It prevents unconnected nodes from getting too close together
and this results in good angular resolution. Edges emanating from a node will spread evenly
around a node. Because angular constraints are not part of our original definition of a skeleton,
we provide the option of whether to use angular constraints or not, and this is also used as a
basis for comparison in part of our user study in Section 4.1.
3.3. IMPLEMENTATION OF A FORCE-DIRECTED ALGORITHM IN A GRAPH INTERACTION ENVIRONMENT 45
3.3. Implementation of a Force-Directed Algorithm in a Graph Interaction Environment
In addition to the particle system, we also implemented a force-directed algorithm into the
graph interaction environment. The reason for implementing the force-directed algorithm is
for a comparative evaluation of skeletal and non-skeletal techniques as detailed in Section 4.1.
The force directed method that we implemented consisted of the following features. Connected
nodes are attracted to each other if their length is longer than desired and repelled if their length
is shorter. Disconnected nodes are repelled from each other if they are within a certain distance.
Several iterations of the force-directed algorithm are run at each frame. As nodes are dragged
around the force directed algorithm will recalculate the forces and update the positions of the
nodes accordingly. This helps to ensure that edge lengths are as desired. However, the force-
directed algorithm is more forgiving of differences between desired and actual edge lengths
than the particle system. It terms of satisfying box and fixed node constraints, the force-directed
algorithm works in exactly the same way as the particle system.
It terms of the feel of the system the force-directed method provides a more stretchy and less
rigid feel than the more rigid particle system. In terms of satisfying the edge-length constraints,
the force-directed algorithm usually quickly finds an equilibrium state. However, there are
some situations where it gets stuck and cannot find an equilibrium state. Also, it is difficult to
find parameters that are suitable for a wide variety of graphs.
3.3. IMPLEMENTATION OF A FORCE-DIRECTED ALGORITHM IN A GRAPH INTERACTION ENVIRONMENT 46
The pseudocode for the calculation of forces is:
FOR each node n1
n1.force = (0, 0, 0)
IF n1 is not fixed
FOR each node n2
IF n1 != n2 THEN
distance = Euclidean distance between n1 and n2
IF n1 and n2 are connected by an edge THEN
ideal = ideal distance between n1 and n2
attraction = (distance-ideal)/ideal
n1.force += -attraction*(n1.pos - n2.pos)
ELSE
IF distance < some threshold t THEN
repulsion = (t*t)/(distance*distance)
n1.force += repulsion*(n1.pos - n2.pos)
END IF
END IF
END IF
END FOR
END IF
END FOR
FOR each node n
move n in direction of force
END FOR
3.4. COMPUTATIONAL COMPLEXITY OF THE METHODS USED 47
3.4. Computational Complexity of the methods used
An important factor when comparing different graph interaction techniques is the computa-
tional complexity. The computational complexity largely determines the size of graphs that can
be effectively used with the technique.
It can be seen from the pseudocode that the Verlet integration step can be performed in time
linear in the number of nodes. This is because each node must be visited once. The pseudocode
for the constraint solver shows that in order to satisfy the box constraint each node must be
visited once, and for the edge-length constraint, each edge must be visited once. Therefore
the standard skeletal technique is linear in the larger of the number of nodes or edges. The
computational complexity for the standard skeletal technique isO(|V |+ |E|).
The skeletal technique with angular constraints has the additional operation of calculating the
forces on each node. Each node must determine the force exerted upon it by possibly every
other node. Therefore the time complexity is quadratic in the number of nodes. The compu-
tational complexity for the skeletal technique with angular constraints isO(|V |2). This is the
main disadvantage of the method with angular constraints over the standard skeletal method.
The force-directed algorithm also needs to visit every other node to calculate the force on each
node. The time complexity of the force-directed algorithm is thereforeO(|V |2).
It can be seen from these figures that all techniques run in polynomial time allowing them to
be useful for many situations. However, the performance of the force-directed and angular
constraints methods could deteriorate on large graphs. The standard skeletal technique would
perform better on large graphs in most cases. In cases where every node is connected to every
other node (complete graphs), the time-complexity would be the same.
CHAPTER 4
Evaluation of Skeletal Animation Techniques in Graph Interaction
Chapter 3 introduced the particle system as a technique for simulating the skeletal metaphor
in a graph interaction environment. We would like to evaluate this technique both in terms of
its ability to simulate the skeletal metaphor and in terms of its usefulness for graph interac-
tion. This chapter presents an evaluation of skeletal animation techniques when used in graph
interaction in order to determine the value of each technique and also the merit of the skeletal
metaphor. The results are provided in the form of column graphs at the end of this chapter.
4.1. User Study
Aims of the User Study
A usability study is a reliable way of measuring the usefulness of graph interaction techniques,
as feedback from users is a strong indication of how easy and natural the system is to use. It
also provides an indication of how enjoyable it is to use the system.
A study was performed as a part of this project. This study aims to provide answers to the
following research questions:
a) Is the particle system useful for simulating skeletal animation in graph interaction?
b) Is the skeletal metaphor useful for graph interaction in the general case?
c) Is the skeletal metaphor useful for graph interaction in specific domains?
48
4.1. USERSTUDY 49
d) What domains are most suited to the skeletal metaphor?
In answering these questions, the study aims to affirm or reject the following hypotheses:
a) New techniques will have a positive effect on the simulation of the skeletal metaphor in
graph interaction.
b) The use of the skeletal metaphor will have a positive effect on the user’s ability to
understand the graph structure
Description of the Process and Survey Questions
Participants of the user study used the system developed in Sections 3.2 & 3.3 to perform graph
interaction tasks. They were asked to answer survey questions based on their experience with
the system. The survey is included in Appendix B on page 88. We had 16 participants take
part in our user study. They were postgraduate and Honours students in the field of computer
science.
FIGURE 4.1. The graph used for part 1 of the user study.
Part 1 of the survey involved using the system on the graph given in figure 4.1 using the particle
system both with and without the threshold. As described in Section 3.2 the threshold restricts
4.1. USERSTUDY 50
the movement of the user in order to better maintain the skeletal constraints. The threshold
used for the study was determined experimentally. We used a threshold that provided a bal-
ance between restricting the user’s movements too much and allowing excessive violation of
constraints.
The purpose of part 1 of the survey was to evaluate the particle system in terms of its ability
to simulate the skeletal metaphor. The aim of this part is to answer research question (a) while
giving a small insight into question (b). This part was also designed to compare the particle
system using the threshold to the particle system not using the threshold.
The participants of the study were asked to provide a rating for each technique on an integer
scale of 1 (lowest) to 5 (highest), for the following four questions:
A. How well does the system preserve the structure of the skeleton? (Structure is pre-
served when the lengths of "bones" are at their original length)
B. When dragging around a node, did the bones react in the way you expected (How
intuitive is the system)?
C. While moving a node was it easy to maintain your understanding of the structure of
the graph?
D. Was the system fun to use?
The participants were advised to give ratings in such a way that the techniques could be mea-
sured individually against the scale as well as comparatively. There was also space for addi-
tional comments after each question so that the user could further explain their choice if desired.
For the remaining questions in this part, the participants were asked to give a written response
explaining their answer:
E. Which aspect of each system did you like the most, Why?
F. Which aspect of each system did you like the least, Why?
G. Based on your experience with the two systems what do you consider to be most
4.1. USERSTUDY 51
important, maintaining the skeletal structure or allowing freedom of movement? Explain.
H. Do you have any further comments to make on any aspect of these systems or this
section?
Question A is aimed at measuring and comparing the ability of each technique to satisfy the
bone-length constraints of the skeleton. This is the most important factor in terms of measuring
a techniques ability to simulate a skeleton. It is the nature of the skeleton that bone-lengths
remain constant. If this is not the case then it could be argued that the system is only loosely
simulating a skeleton. The visual cues provided in our system mean that the user will always
know if the bone-length constraints are satisfied. This will ensure that the answers provided
by participants in this question will be an accurate representation of the level of constraint
satisfaction.
Question B tries to identify which technique users find most natural or intuitive. Due to the fact
that a skeleton is a natural structure that humans are used to manipulating, it is expected that a
system that simulates the skeleton effectively would be natural and intuitive. If the system is
found not to be intuitive it could mean that it is not simulating the skeleton very well. However,
it could also mean that the skeletal metaphor is not as natural and intuitive as expected when
applied to graph interaction.
Question C is present to measure the success of each algorithm in preserving the user’s mental
map. The mental map is likely to be maintained if only small, intuitive changes are made. If
large, drastic changes are made then the user will be unable to identify how the current drawing
relates to previous drawings and the benefits of interaction are reduced. A system that simulates
the skeleton well is expected to maintain the mental map as changes are restricted to maintain
similar aesthetic properties.
Question D has been included as an informal way to ascertain the algorithm of general prefer-
ence to the participants and also to determine how enjoyable each technique is to use. Questions
E & F have been included to record what the users consider to be the strengths and weaknesses
4.1. USERSTUDY 52
of the two methods. The purpose of Question G is to determine whether restrictions placed
upon the movement of the graph in order to better satisfy the skeletal constraints, helps or hin-
ders their ability to understand the graph structure. Question H is for any extra comments the
participant may have.
FIGURE 4.2. The graph used for part 2 of the user study.
Part 2 of the survey involved using the system on the graph given in figure 4.2 using the parti-
cle system, the force-based technique and the particle system with angular constraints. While
part 1 was designed to give some insight into the usefulness of the skeletal metaphor, only
by comparing the particle system with a non-skeletal technique can we completely identify
it’s strengths and weaknesses. Evaluating the new skeletal technique against a traditional non-
skeletal technique is the purpose of part 2 of the survey. The particle system simulates the
skeleton while the force-based method is non-skeletal. The particle system with angular con-
straints is a skeletal animation technique but also has force-based elements. These techniques
will be evaluated in terms of the users understanding of the graph structure. The aim of this
part is to answer research question (b).
Once again, the participants of the study were asked to provide a rating for each technique on a
scale of 1 to 5, for the first four questions. Space for additional comments was again provided.
4.1. USERSTUDY 53
The questions were:
A. How easy was it to obtain a picture in which you could easily understand the structure
of the graph?
B. While moving the structure around, did the graph react in the way you expected (How
intuitive is the system)?
C. While moving a node was it easy to maintain your understanding of the structure of
the graph?
D. Was the system fun to use?
The questions requiring a written response were:
E. Which aspect of each system did you like the most, Why?
F. Which aspect of each system did you like the least, Why?
G. Do you have any further comments to make on any aspect of these systems or this
section?
Question A attempts to capture a general notion of the skeletal metaphor’s effect on a user’s
ability to manipulate the graph into a readable form. The main aim of graph interaction is to
allow the user to easily produce a drawing that they can understand. Therefore, the performance
of a technique in this question give a strong indication of how useful it is for interaction tasks.
The remaining questions have a similar purpose to those in part 1, this time comparing skeletal
and non-skeletal techniques.
The purpose of part 3 of the survey is to evaluate the new skeletal technique against a non-
skeletal technique using graphs from specific domains. These will be evaluated similarly to
part 2. The aim of this part is to answer research questions (c) and (d).
4.1. USERSTUDY 54
FIGURE 4.3. The web graph used for part 3 of the user study.
FIGURE 4.4. The hex game graph used for part 3 of the user study.
The questions in this section were very similar to those in part 2, this time comparing the tech-
niques in the two domains and also comparing the two domains (See Appendix B on page 88).
The first graph that was used is shown in figure 4.3. It is a graph of high degree similar to a
possible web graph. High performance of a technique on this graph gives a small indication
that the technique will be useful for high degree graphs such as web graphs.
The second graph used is that of a hex game graph [Rijswijck02, Murray03 ]. It is shown in
figure 4.4.
4.2. RESULTS& D ISCUSSION 55
4.2. Results & Discussion
Part 1 - Comparison of Skeletal Techniques
The results from part 1 of the user study are shown as a column graph in figure 4.5. To obtain
the value for each method and question we took the average of the responses provided. From
the graph we can easily see the performance of each method against the scale and we can also
easily compare the methods.
From the results in question A it can be seen that the threshold method is more effective at
preserving edge lengths than the non-threshold method. This strong trend towards the threshold
method as a better preserver of edge-lengths was to be expected, as the non-threshold method
allows the user total freedom in stretching bones. However, the scores were still towards the
high end of the scale, indicating that edge lengths were well preserved. This is because it
is only in cases were the fixed nodes are chosen such that it is impossible to satisfy edge-
lengths, that violations will occur. In normal cases, all constraints will be satisfied. As the
threshold method prevents some cases where it is impossible to satisfy edge constraints, it is
better at preserving edges lengths. Some participants did not indicate any difference between
the threshold and non-threshold methods. This may be because they did not create or attempt
to create configurations in which the violation threshold would be exceeded. The threshold
chosen still allowed some violations. Perhaps with a lower threshold, the difference between
the methods would have been more obvious. However, this would have limited the usefulness of
the method, as movement would feel too restrictive. In hindsight, it would have been beneficial
to construct more study cases with a wider variety of circumstances. Based on the results
achieved, it seems fair to claim that both methods are very effective in satisfying the skeletal
constraints and therefore in simulating the skeletal metaphor.
The results in question B indicate that the method without a threshold is more intuitive. This
may be due to participants finding the threshold method restrictive. Also, it may not have been
obvious from the visualisation when the threshold was reached. Even though the threshold
4.2. RESULTS& D ISCUSSION 56
method achieved a lower score, it still achieved a fairly high rating on the scale. Therefore, it is
reasonable to suggest that both methods are highly intuitive and feel natural to use. This shows
that these methods are effective in aiding the understanding of the graph and also shows that
the skeletal metaphor is useful for graph interaction.
From the results in Question C we can see that the threshold method received a slightly better
rating for preserving the user’s mental map. This is likely due to the fact that the movement is
more restrictive and therefore it is more difficult to make drastic changes to the graph. However,
the difference is fairly small and it would be irresponsible to make any drastic conclusions about
the difference between the techniques at maintaining the mental map. Of some concern is that
both methods are somewhat low on the scale. This indicates that too many changes could be
occurring to the graph as nodes are dragged around making it difficult to see how the current
state of the graph relates to previous drawings. While the ability of the skeletal metaphor to
preserve the mental map is not terrible, it does appear to be its weakest aspect.
As can be seen from the results for Question D, both techniques are quite fun to use. The results
also indicate that the users did not have a preference for either system.
The remaining questions produced a wide range of comments. Maintaining the skeletal struc-
ture was considered by the majority of the participants to be the more important factor in aiding
understanding of the graph. Many argued that by maintaining the skeletal structure we are more
likely to produce an aesthetically pleasing drawing, therefore making it easier to understand the
graph structure. Also, if the lengths of edges were representative of edge weights specific to the
graph, this is especially important for understanding the graph structure. Some also suggested
that when the graph was released from a highly stretched state by releasing nodes, the graph
would change drastically. This would result in a loss of the users mental map. If we maintain
the skeletal structure these highly stretched states are less likely to occur. Also, highly stretched
states are more likely to have poor aesthetic properties. Some commented that the threshold
added more realism to the skeleton structure as it would not be possible to stretch an actual
skeleton.
4.2. RESULTS& D ISCUSSION 57
Some of the participants preferred freedom of movement as a more important aspect. This al-
lows them to place the graph in any possible configuration and by unfixing nodes, they can also
ensure that the skeletal structure is satisfied. One user commented that relaxing the constraints
is beneficial in an interactive environment. This makes sense, as for a single graph drawing
we do want all constraints to be satisfied. However, in an interactive situation, it seems accept-
able to temporarily allow some violations while a configuration is being formed. Once we have
achieved a configuration which we can understand, satisfying any small violations will increase
the aesthetics of the drawing and increase our understanding of the graph even further. Also,
for graph drawings subject to edge length constraints, there may be no embedding that satisfies
the constraints [Borcea02]. So we must allow some violation of constraints or we will limit the
areas in which our techniques will be useful.
Based on these comments, we conclude that maintaining the skeletal structure is the most
important characteristic as it helps to provide an aesthetically pleasing drawing that is easy
to understand. However, we also believe that the skeletal structure can be maintained in an
environment allowing complete freedom of movement, as long as the user makes an attempt
to avoid configurations that highly stretch the graph, by paying attention to the visual cues and
also keeping the subset of fixed nodes fairly minimal. Using this technique with that mind-
set would allow the user to configure the graph in any possible way while maintaining the
skeletal structure and therefore continually achieving an aesthetically pleasing drawing, that
feels realistic and natural, therefore increasing the users understanding of the graph.
Both systems have shown to be useful for simulating the skeletal metaphor. Whether this aids
the users understanding of the graph will be evaluated further in part 2.
One respondent commented that the structure responded quickly to user input in both tech-
niques. This further supports our claim that the particle system is fast and helps to provide
smooth, natural motion.
4.2. RESULTS& D ISCUSSION 58
Part 2 - Comparison of Skeletal and Non-Skeletal Techniques
The results from part 2 of the user study are shown as a column graph in figure 4.6. To obtain
the value for each method and question we took the average of the responses provided. From
the graph we can easily see the performance of each method against the scale and we can also
easily compare the methods.
The first thing that we notice from the graph is that the skeletal technique with angular con-
straints outperforms the other techniques significantly in all questions. This indicates that the
skeletal technique with angular constraints is the best at aiding a user’s understanding of a
graph.
For question A, the skeletal technique slightly outperforms the force-directed technique, but
both techniques have high enough ratings to indicate that they are useful for quickly and easily
obtaining a readable graph. The rating of the skeletal technique with angular constraints is very
high showing that it is extremely useful for this purpose.
The results for question B indicate that the force-directed method is the least intuitive. Both
of the skeletal techniques are more intuitive. This supports our claim that the natural motion
provided by the skeletal techniques would be intuitive because people regularly manipulate a
skeletal structure. The skeletal structure with angular constraints is shown to be even more
intuitive. This is due to the fact that it provides added realism as the movement of joints in a
normal skeleton have restrictions on the range of movement.
In question C, the force-directed algorithm slightly outperforms the standard skeletal technique
but not by a significant amount. Both methods are shown to be fairly effective in preserving the
users mental map.
The users also have a preference for the angular constraints method as shown in question D.
They are more likely to enjoy using the system if it helps them to understand the graph.
4.2. RESULTS& D ISCUSSION 59
The remainder of the questions requiring descriptive answers further supported the results ob-
tained previously but failed to provide much further insight into the usefulness of each tech-
nique.
In summary, the results show that the skeletal technique is better at assisting a user to under-
stand the graph structure than the non-skeletal technique. Adding angular constraints to the
skeletal metaphor has the effect of providing good angular resolution which increases its use-
fulness significantly. Therefore, we propose the following revised version of the definition of a
skeleton:
A skeleton is a set of joints (J) and a set of bones (B). Each jointj ∈ J is connected by a set
of bonesBj ⊆ B to set of jointsjADJ ⊆ J, |jADJ | > 0.
There exist constraints on the skeleton that should be preserved:
• The lengthlb of each boneb ∈ B should not change.
• Given a set of jointsF ⊆ J , termed the fixed point set, each jointj ∈ F should remain
at its initial location in Euclidean space.
• For each pair of jointsji, jj ∈ J not connected by a boneb ∈ B, the Euclidean distance
betweenji andjj must remain greater than some thresholdt.
The skeletal method with angular constraints does have the disadvantage that the extra work in
enforcing the angular constraints makes this method a bit slower.
Our results show that the skeletal metaphor is useful for graph interaction as it significantly
helps the user to comprehend the graph.
4.2. RESULTS& D ISCUSSION 60
Part 3 - Specific Domain Graphs
The results for the web graph are given in figure 4.7. The standard skeletal technique performs
poorly on this graph. This is due to the fact that the graph was of high degree and edges tended
to bunch together around the node from which they emanate. With the angular constraints in
place however, we once again get very good results.
The results for the hex graph are given in figure 4.8. The standard skeletal technique performs
better on this graph. However, it is still slightly below the performance of the force-directed
algorithm.
Based on the ratings, all techniques perform slightly lower on these graphs than on the general
graphs. This could be because these graphs are more difficult to understand or because these
domains are less suited to the skeletal metaphor.
Figures 4.9 & 4.10 show a direct comparison between the web and hex graphs on the two
skeletal techniques. For the standard skeletal technique, the hex graph performs better largely
due to the poor performance on the web graph as described above. For the skeletal technique
with angular constraints, the web graph performs better because with good angular resolution
it is an easier graph to understand.
Our results indicate that the skeletal metaphor could be useful for graph interaction in specific
domains and that web-graphs are more highly suited to the skeletal metaphor than the hex game
graph. However, this part of our evaluation was somewhat limited. The evaluation of graph in-
teraction techniques in specific domains would give greater understanding by having expert
analysts complete specific graph interaction tasks with labelled graphs representing real data.
There are also many more domains in which these techniques could be evaluated. The skeletal
metaphor is potentially useful in any application where it is crucial to visualize structural in-
formation as graphs. Further evaluation of the use of the skeletal metaphor in specific domains
remains an area for future work.
4.2. RESULTS& D ISCUSSION 61
Summary
From the results of our study we were able to confirm our hypotheses that new techniques will
have a positive effect on the simulation of the skeletal metaphor and that the use of the skeletal
metaphor will have a positive effect on the user’s ability to understand the graph structure.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 62
4.3. Comparison of the Particle System with Previous Techniques
Part of the motivation for this thesis was that the techniques used by Merrick were not highly
successful in simulating the skeletal metaphor or increasing the user’s understanding of the
graph structure [Merrick02 ]. Therefore we will demonstrate that we have improved upon the
previous work by showing that the particle system is more effective in achieving these aims.
The CCD & force-directed approaches resulted in a stretchiness of bones. This violates the
prescribed skeletal metaphor and damages the perception that a physical entity is being manip-
ulated. The CCD method lead to a stretch in bones as a result of a cumulative error. In the
particle system, any small errors will converge over subsequent frames while more iterations
are applied. The force-directed technique resulted in very stretchy bones as a result of the naive
approach in simulating the skeleton. The parameters were chosen in an attempt to create ex-
tremely stiff springs but it was not as effective as expected, as it is still possible for the springs
to stretch. In the particle system, the edges are modelled as infinitely stiff springs, so their ideal
length is reached instantly, minimising stretching.
Generally, in the particle system, the only time when edge-length constraints remain unsatis-
fied, is when the set of fixed-nodes make it impossible to satisfy both fixed node constraints
and edge-length constraints, as described in Section 3.2 (See figure 3.12). The constraint solver
ensures that the edge length constraint is always satisfied provided the set of fixed joints allows
this to be possible. Edges that have violated the length constraint due to the nature of the
fixed joints, will return to their original length once possible. The violation of bone-length
constraints can be further reduced by using the threshold mechanism.
The CCD method became very slow in some cases in the previous system. For a graph inter-
action system to be useful it must be useable in real-time, which was not always true of this
approach. The particle system is designed to be very fast in order to be useful for interactive
purpose. Verlet integration is a fast method of simulating particle motion. Satisfying environ-
mental constraints by projection is also very fast as is satisfying edge-length constraints. It also
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 63
allows for a speed versus accuracy trade off by adjusting the number of iterations per frame,
without accumulating visually obvious errors. The square-root approximation can also be used
to further speed up the system’s response to user actions.
The motion should also remain smooth and natural as is the intention of the skeletal metaphor.
The NLP method provided jumpy motion and this limited its usefulness significantly. Con-
versely, the motion provided by the physics system is smooth and natural, helping the user to
quickly and easily understand the graph structure.
None of the previous methods implemented any form of angular constraints. Angular con-
straints not only add a greater level of realism to the skeletal structure, they also greatly improve
the angular resolution of the resultant graph drawing. The results of our user study support this
and also show that the angular constraints significantly improve the users ability to understand
the graph. By providing a technique with angular constraints we provide our system with an
additional advantage over the previous techniques.
While Merrick applied the skeleton to only part of the graph, we have modelled the entire graph
as a skeleton. As a result our entire graph represents a physical structure while in Merrick’s
system this was only partially the case. Also, Merrick required preprocessing to determine the
skeleton and also required additional processing to determine the movements of non-skeletal
nodes.
The physics system provides the advantages of all three previous methods while also providing
some additional advantages. It also has none of the disadvantages of the previous techniques.
It provides satisfaction of the constraints of a skeleton while ensuring the naturalness of the
skeletal motion and fast speed of execution. The particle system provides a fast, accurate
simulation of the skeletal metaphor that increases the users ability to understand the graph
structure.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 64
�
�����
�
���
�
�� ��
�
�����
�
�����
�
����� ��!#"%$#&('*)+-,%.#/10*2436587:9<;>=@? ACB:DFEHGJIFKJLNM%O PRQ:ST*UWV XZY%[:\4]6^#_Z`bacedgfRhji%kmlonNpFqsr�tuwvyxz6{b|~}������j�������
� ������R�����
��������
�¡ ¢¤£Z¥§¦©¨ª¬«®�¯ °²±Z³§´©µ¶¬·®¸�¹
FIGURE 4.5. The results for part 1 of the user study.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 65
������
����
��� ��
������
������
�
����� �"!$#&%('*),+.-0/13254�687:98;=<>@?,A:B.CEDGFIHJLKNMPO5Q$RPS$TVUXW*Y[ZN\]_^a` b(cXdNe,f.gih(j:klnmpo[qsrXtvu wVxPy{z}|~����
�.�:���������s�������
� �@�&��[�����
� �¡¢¤£¥
¦¨§ª©¬«®°¯²±�³�´¶µ¨·¹¸¬ºI»¼�½a¾À¿LÁöÄÆÅÇ�ÈaÉÀÊLËÃ̶ÍÀÎ:ÏÑÐ0ÒÔÓÑÕ×Ö�ت٨ڤÛÀÜÞÝàßÞá�â¹ãåäçæéèpênëíì
FIGURE 4.6. The results for part 2 of the user study.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 66
�
�����
�
���
�
�� ��
�
�����
�
�����
�
����� �"!$#&%('*),+.-0/13254 687598:<;>=@?BA5C.DEGFIHJLKNMPORQ$SPT$UWVYX[Z]\N^`_badc egfYhNi,j.k[l&m5noqpBr]sutYvxw�yWzP{}|�~>������ �@�&��]�����
��������
���������¡ £¢¥¤§¦©¨�ª�«�¬®¯�°d±³²L´Iµ©¶¸·¹�ºd»³¼L½I¾©¿³À5ÁÃÂ0ÄÆÅÃÇÉÈ3Ê�Ë�Ì�ͳÎÐÏÒÑÐÓ3Ô�Õ×ÖÙØÛÚBÜqÝßÞ
FIGURE 4.7. The results for the web graph in part 3 of the user study.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 67
�
�����
�
���
�
�� ��
�
�����
�
�����
�
����� �"!$#&%('*),+.-0/13254 687598:<;>=@?BA5C.DEGFIHJLKNMPORQ$SPT$UWVYX[Z]\N^`_badc egfYhNi,j.k[l&m5noqpBr]sutYvxw�yWzP{}|�~>������ �@�&��]�����
��������
���������¡ £¢¥¤§¦©¨�ª�«�¬®¯�°d±³²L´Iµ©¶¸·¹�ºd»³¼L½I¾©¿³À5ÁÃÂ0ÄÆÅÃÇÉÈ3Ê�Ë�Ì�ͳÎÐÏÒÑÐÓ3Ô�Õ×ÖÙØÛÚBÜqÝßÞ
FIGURE 4.8. The results for the hex game graph in part 3 of the user study.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 68
�
�����
�
���
�
�� ��
�
�����
�
�����
�
����� �"!$#&%('*),+.-0/13254 687598:<;>=@?BA5C.DEGFIHJLKNMPORQ$SPT$UWVYX[Z]\N^`_badc egfYhNi,j.k[l&m5noqpBr]sutYvxw�yWzP{}|�~>������ �@�&��]�����
��������
� �@� �����
FIGURE 4.9. Comparing the results for web and hex graphs using the skeletal technique.
4.3. COMPARISON OF THEPARTICLE SYSTEM WITH PREVIOUS TECHNIQUES 69
�
�����
�
���
�
�� ��
�
�����
�
�����
�
����� �"!$#&%('*),+.-0/13254 687598:<;>=@?BA5C.DEGFIHJLKNMPORQ$SPT$UWVYX[Z]\N^`_badc egfYhNi,j.k[l&m5noqpBr]sutYvxw�yWzP{}|�~>������ �@�&��]�����
��������
� �@� �����
FIGURE 4.10. Comparing the results for web and hex graphs using the skeletal
technique with angular constraints.
CHAPTER 5
Conclusion
This chapter concludes this report by summarising the original goals, how they were achieved,
and what conclusions can be drawn from them. It also covers some directions for future re-
search work.
5.1. Research Contribution
In Chapter 1 of this thesis, we raised the issue that, although much research has been done in
the area of graph visualisation, there remains a need for investigation into techniques for graph
interaction that will complement the visualisation and increase the user’s understanding of the
graph.
We have introduced the particle system as a method for skeletal animation that can be used
for graph interaction tasks. As the skeleton is a natural structure, and this method was de-
signed for interactive use with the dragging of joints in mind, it is quite suitable for providing a
graph interaction environment that feels natural and intuitive. We made the method even more
more suitable for this purpose by adding features specifically designed to aid graph interaction
such as fixed node constraints, an error threshold and visual cues. The adapted particle sys-
tem improves upon the previous techniques used for skeletal animation in graph interaction.
This shows that our new technique has had a positive effect on the simulation of the skeletal
metaphor in graph interaction.
70
5.1. RESEARCHCONTRIBUTION 71
Previous evaluation of the usefulness of the skeletal metaphor was inconclusive due to the
limited scope of the survey undertaken. We have demonstrated it’s usefulness through a more
comprehensive user study into the benefits of the skeletal metaphor and the different methods
used. The results clearly show that the skeletal techniques, especially with angular constraints,
are much more effective at providing a mechanism for which the user can easily understand the
graph. The more comprehensive user study that we have undertaken produces solid evidence
of the usefulness of the skeletal metaphor.
We have also provided some evaluation of the skeletal metaphor in the domains of web graphs
and the hex game graph. Graph drawing and interaction techniques designed solely for general
graphs are often not useful once they are applied to domain-specific graphs [Purchase00]. By
evaluating the particle system and the skeletal metaphor in these domains we give a greater
insight into how useful it truly is.
We have also added to the definition of the skeletal metaphor to further improve its utility. We
have added the condition of angular constraints. Our user study confirms that this is advanta-
geous.
The satisfaction of the constraints of a skeleton while ensuring the naturalness of the skeletal
motion and fast speed of execution, provides a fast, accurate simulation of the skeletal metaphor
that increases the user’s ability to understand the graph structure.
This work adds to the field of graph interaction by providing a natural system of navigating a
graph with the ability to increase the user’s understandability of the graph structure, much more
so than alternative methods such as a force-directed algorithm. This shows that the use of the
skeletal metaphor has a positive effect on the user’s ability to understand the graph structure.
5.2. FUTURE WORK 72
5.2. Future Work
The only method of interaction with the system presented in this thesis, and the system de-
scribed by Merrick [Merrick02 ] was through the use of a standard two dimensional mouse.
Other devices for interaction with three dimensional displays could provide a more natural in-
terface between the user and the system, complementing the skeletal metaphor. In particular,
haptic interaction devices not only provide a method for interaction in three dimensions but use
force feedback techniques to give the user an actual physical feel of what they are interacting
with. The benefits of haptic devices have been explored [Hinckley96] and these devices have
been shown to be quite useful for a range of applications. It remains to be determined, when
using a graph interaction system utilising the skeletal metaphor, what additional benefits would
be provided by using three dimensional input devices such as haptic devices. One of many
possible benefits would be to allow the user to more easily determine when a threshold has
been reached through the use of force-feedback. We could not answer this question here, as the
complexities involved in using haptic devices, and their high cost, placed this task outside the
scope of an Honours thesis, unless it was the primary focus.
The work of Ware and Franck has shown [Ware94] that many of the benefits of three dimen-
sional visualisations are further realised when 3D display devices such as a stereoscopic, hand-
tracked 3D display are used. The use of the skeleton metaphor with such devices is therefore
likely to see even more benefits.
Our evaluation of the different techniques used gave us a strong indication of how useful the
skeletal metaphor is for general graphs. However, our evaluation in specific domains was some-
what limited as it didn’t involve completion of specific graph interaction tasks with labelled
graphs representing real data. It would also be beneficial to have expert analysts from that
field using the system. There are also many more domains in which these techniques could be
evaluated. The skeletal metaphor is potentially useful in any application where it is crucial to
visualize structural information as graphs. An evaluation of the skeletal metaphor in any of the
areas would provide a significant research contribution.
5.2. FUTURE WORK 73
An alternative to a graph interaction environment allowing the user to make changes, would be
software that animates a drawing of a graph. This animation would show many different views
of the graph independent of user input. The aim of this approach would be to smoothly animate
between configurations of the graph while maintaining aesthetic properties in order to increase
the users understanding of the graph while preserving the user’s mental map. This approach
could achieve all the advantages of graph interaction without relying on actions from the user
to produce readable drawings. It would also be possible to use skeletal animation techniques
for this approach towards aiding a user’s understanding of a graph.
Another possibly would be to use additional data associated with the graph to determine phys-
ical aspects of the graph. Some parameters that could depend on the input graph could be bone
thickness, length and stretching threshold. These factors would provide a physical structure
that more closely resembles the graph data. It remains to be seen whether this would increase
the user’s understanding of the graph but is definitely an area worth exploring.
In our system it was possible for nodes and edges to pass through each other. Collision detection
involves determining if two objects intersect each other. Adding collision detection to a skeletal
graph interaction system would provide further realism, as it could be used to prevent nodes
and edges from intersecting. This may increase the ability of the user to understand the graph,
and is therefore an area worth investigating.
This thesis has not only contributed to the field of graph interaction but have also opened up
many possibilities for future work in this area. Such research is likely to provide an important
contribution in the fields of both graph visualisation and human computer interaction in the
future.
References
[Badler87] N. Badler, Manoochehri K. and G. Walters.Articulated figure positioning by mul-
tiple constraints. IEEE Comput. Graph. Appl. 7(6), pages 28-38. (1987).
[Batini85] C. Batini, L. Furlani and E. Nardelli.What is a Good Diagram? A Pragmatic Ap-
proach. In Proc. 4th Internat. Conf. on the Entity-Relationship Approach, pages 312-
319 (1985).
[Battista94] G. Di Battista, P. Eades, R. Tamassia and I Tollis.Algorithms for Drawing Graphs:
an Annotated Bibliography. Computational Geometry: Theory and Applications, 4
(5), pp. 235-282 (1994).
[Battista99] G. Di Battista, P. Eades, R. Tamassia and I. Tollis.Graph Drawing: Algorithms
for the Visualization of Graphs. Prentice-Hall, Englewood Cliffs, NJ. 1999.
[Behzadi99] L. Behzadi.An Improved Spring-based Graph Embedding Algorithm and Lay-
outShow: a Java Environment for Graph Drawing. Master’s thesis, York University,
North York, Ontario, Canada (1999).
[Belista03] K. Belista.Interacting with Large Web Graphs Using Skeletal Animation and Clus-
tering. Honours Thesis, School of Information Technologies, The University of Syd-
ney (2003).
[Bertault00] F. Bertault.A force-directed algorithm that preserves edge-crossing properties.
Information Processing Letters, 74(1–2):7–13 (2000).
[Biedl98a] T. C. Biedl and G. Kant.A better heuristic for orthogonal graph drawings. Comput.
Geom., 9(3):159–180 (1998).
[Biedl98b] T. C. Biedl, B. P. Madden and I. G. Tollis.The Three-Phase Method: A Unified
Approach to Orthogonal Graph Drawing. In G. Di Battista, editor, Graph Drawing
(Proc. GD ’97), volume 1353 of Lecture Notes in Computer Science, pages 391–402.
SpringerVerlag (1998).
74
REFERENCES 75
[Biedl99] T. Biedl, T. Shermer, S. Whitesides and S. Wismath.Bounds for Orthogonal Graph
Drawing. J. Graph Alg. Appl., 3(4):63-79 (1999).
[Borcea02] C. Borcea and I. Streinu.On the Number of Embeddings of Minimally Rigid
Graphs. SoCG’02, June 5-7 (2002).
[Bose98] P. Bose, H. Everett, S. P. Fekete, M. E. Houle, A. Lubiw, H. Meijer, K. Romanik,
G. Rote, T. C. Shermer, S. Whitesides and C. Zelle.A Visibility Representation for
Graphs in Three Dimensions. J. Graph Algorithms Appl. 2 (3) 1-16 (1998).
[Brady82] M. Brady, J. Holierbach, T. Johnson, T. Lozano-Perez and M. Mason.Robot Mo-
tion: Planning and Control. MIT Press, Cambridge (1982).
[Brandenburg96] F. J. Brandenburg, M. Himsolt and C. Rohrer.An Experimental Comparison
of Force-Directed and Randomized Graph Drawing Algorithms. In Proceedings of
Graph Drawing GD95, pages 76-87. Springer (1996).
[Bruβ96] I. Bruβ and A. Frick.Fast Interactive 3D graph visualisation. Lecture Notes in Com-
puter Science, 1027:99—110 (1996).
[Cockburn01] A. Cockburn and B. J. McKenzie.3d or not 3d? Evaluating the effect of the
third dimension in a document management system. In CHI, pages 434-441 (2001).
[Davidson96] R. Davidson and D. Harel.Drawing graphs nicely using simulated annealing.
ACM Transactions on Graphics, 15:301-331 (1996).
[Dengler93] E. Dengler, M. Friedell and J. Marks.Constraint-Driven Diagram Layout. In
Proceedings of the 1993 IEEE Symposium on Visual Languages, pages 330–335,
Bergen, Norway (1993).
[Ding90] C. Ding and P. Mateti.A Framework for the Automated Drawing of Data Structure
Diagrams. IEEE Transactions on Software Engineering, SE-16, (5), 543–557 (1990).
[Dwyer01] T. Dwyer.Three Dimensional UML Using Force Directed Layout. In P. Eades and
T. Pattison, editors, Information Visualisation 2001 (2001).
[Eades84] P. Eades.A heuristic for graph drawing. Congressus Numerantium, 42:149–160
(1984).
[Eades91] P. Eades, W. Lai, K. Misue and K. Sugiyama.Preserving the mental map of a dia-
gram. in Proc. of Compugraphics, pp. 24-33 (1991).
REFERENCES 76
[Eades97] P. Eades, A. Symvonis and S. Whitesides.Two algorithms for three dimensional
orthogonal graph drawing. In North, S., editor, Proc. Graph Drawing, GD, number
1190, pages 139—154, Berlin, Germany. SpringerVerlag (1997).
[Eades99] P. Eades, Q.-W. Feng and X. Lin.Straight-line drawing algorithms for hierarchi-
cal graphs and clustered graphs. In S. North, editor, Graph Drawing (Proceedings
GD’96), pages 113–128 (1999).
[Eklund99] J. Eklund, J. Sawers and R. Zeiliger.NESTOR Navigator: A Tool for the Collab-
orative Construction of Knowledge Through Constructive Navigation. Proc. of Fifth
Australian World Wide Web Conference (AusWeb 99) Lismore: pp. 396-408 (1999).
[Esposito88] C. Esposito.Graph Graphics: Theory and Practice. Computer Mathematics Ap-
plications, 15(4), 247-253 (1988).
[Frick94] A. Frick, A. Ludwig and H. Mehldau.A fast adaptive layout algorithm for undirected
graphs. In Proc. of the DIMACS International Workshop on Graph Drawing (GD’94)
(1994).
[Friedrich02] C. Friedrich.Animation in Relational Information Visualization. Phd thesis. Uni-
versity of Sydney. 2002.
[Fruchterman91] T. Fruchterman and E. Reingold.Graph drawing by force-directed place-
ment. Software—Practice and Experience, 21(11):1129-1164 (1991).
[Furnas86] G. W. Furnas.Generalized Fisheye Views. Human Factors in Computing Systems,
CHI ’86 Conference Proceedings, ACM Press, pp. 16-23 (1986).
[Germano99] T. Germano.Graph Drawing. http://davis.wpi.edu/∼matt/courses/graphs/
(1999).
[Girard85] M. Girard and A. A. Maciejewski.Computational modeling for the computer ani-
mation of legged figures. In Barsky, B. A., editor, Computer Graphics (SIGGRAPH
85 Proceedings), volume 19, pages 263-270 (1985).
[Gould86] P. Gould and R. White.Mental Maps. Allen and Unwin Inc.. Winchester, Mass.
01890, USA. 1986.
[Gutwenger98] C. Gutwenger and P. Mutzel.Planar Polyline Drawings with Good Angular
Resolution. Proc. 6th Intl. Symp. Graph Drawing (GD ’98), LNCS vol. 1547, pp.
167-182 (1998).
REFERENCES 77
[Herman00] I. Herman, G. Melanon and M. S. Marshall.Graph visualization and navigation in
information visualisation: a survey. IEEE Transactions on Visualization and Com-
puter Graphics, 6(1):24–43 (2000).
[Hinckley96] K. Hinckley.Haptic Issues for Virtual Manipulation. Ph.D. dissertation, Univer-
sity of Virginia, Dept. of Computer Science (1996).
[Hopcroft74] J. Hopcroft and R. Tarjan.Efficient Planarity Testing. J. ACM, 21(4):549-568
(1974).
[Huang98a] M. L. Huang, P. Eades and R. F. Cohen.WebOFDAV - Navigating and Visualizing
the Web On-line with Animated Context Swapping. Proc. 7th Int’l World Wide Web
Conf., Brisbane, 14-18 (1998).
[Huang98b] M. L. Huang, P. Eades and J. Wang.Online animated graph drawing using a
modified spring algorithm. Journal of Visual Languages and Computing, Vol. 9 No.
6 (1998).
[Hutton96] M. D. Hutton and A. Lubiw.Upward planar drawing of single-source acyclic di-
graphs. SIAM J. Comput., 25(2):291–311 (1996).
[Jakobsen01] T. Jakobsen.Advanced Character Physics. TechReport, IO Interactive (2001).
[Kamada89] T. Kamada and S. Kawai.An Algorithm for Drawing General Undirected Graphs.
Information Processing Letters, 31(1):7-15 (1989).
[Kant97] G. Kant.A more compact visibility representation. International Journal of Compu-
tational Geometry and Applications 7, 197-210 (1997).
[Klein83] C. A. Klein and C.-H. Huang.Review of pseudoinverse control for use with kinemat-
ically redundant manipulators.. IEEE Trans. Syst., Man, and Cybern. , vol. SMC-13,
no. 2, pages 245-250 (1983).
[Korein82] J. U. Korein and N. I. Badler.Techniques for generating the goal-directed mo-
tion of articulated structures. IEEE Computer Graphics and Animation, pages 71-81
(1982).
[Lempel67] A. Lempel, S. Even and I. Cederbaum.An algorithm for planarity testing of
graphs. in Theory of Graphs (Proc. of an International Symposium, Rome) (1967).
[Leung94] Y. K. Leung and M. D. Apperley.A Review and Taxonomy of Distortion-Oriented
Presentation Techniques. ACM Transactions on Computer Human Interaction,
REFERENCES 78
1(2):126–160 (1994).
[Maciejewski90] A. A. Maciejewski.Dealing with the ill-conditioned equations of motion for
articulated figures. IEEE Comput. Graphics Appl. 10(3), pages 63-71 (1990).
[Merrick02] D. Merrick. Skeletal Animation for the Exploration of Graphs. Honours Thesis,
School of Information Technologies, The University of Sydney (2002).
[Misue95] K. Misue, P. Eades, W. Lai and K. Sugiyama.Layout adjustment and the mental
map. Journal of Visual Languages and Computing, 6(2):183–210 (1995).
[Murray03] C. Murray, C. Friedrich and P. Eades.HexGraph: Applying Graph Drawing Al-
gorithms to the Game of Hex. In Proc., 11th International Symposium on Graph
Drawing (2003).
[Nascimento02] H. A. D. do Nascimento and P. Eades.A Focus and Constraint-Based Ge-
netic Algorithm for Interactive Directed Graph Drawing. The Second International
Conference of Hybrid Intelligent Systems (HIS’02) (2002).
[Nielsen98] J. Nielsen.2d is better than 3d. http://www.zdnet.com/devhead/alertbox/981115.html
(1998).
[Paul81] R. P. Paul.Robot Manipulators, Mathematics, Programming and Control. The MIT
Press, Cambridge (1981).
[Purchase97] H. C. Purchase, R. F. Cohen and M. I. James.An experimental study of the ba-
sis for graph drawing algorithms. Journal of Experimental Algorithmics (JEA), 2:4
(1997).
[Purchase00] H. C. Purchase, M. McGill, L. Colpoys and Carrington D..Graph drawing aes-
thetics and the comprehension of UML class diagrams: an empirical study. In Aus-
tralian symposium on Information visualization, pages 129-137. Australian Com-
puter Society, Inc. (2000).
[Rijswijck02] J. van Rijswijck.Search and evaluation in Hex. Techreport, University of Al-
berta (2002).
[Schreiber02] F. Schreiber.High Quality Visualization of Biochemical Pathways in BioPath. in
Silico Biology 2(2), 59-73 (2002).
[Sciavicco87] L. Sciavicco and B. Siciliano.A dynamic solution to the inverse kinematic prob-
lem for redundant manipulators. In Proc. IEEE Int. Conf. Robotics and Automation,
REFERENCES 79
Raleigh, North Carolina, pages 1081-1087 (1987).
[Sugiyama81] K. Sugiyama, S. Tagawa and M. Toda.Methods for Visual Understandings of
Hierarchical System Structures. in IEEE Transactions in Systems, Man, and Cyber-
netics, vol. smc-11, no.2, pp. 109-125 (1981).
[Sugiyama87] K. Sugiyama.A cognitive approach for graph drawing.. Cybernetics and Sys-
tems: An International Journal, 18:447–488. (1987).
[Sugiyama95] K. Sugiyama and K. Misue.Graph drawing by magnetic spring model. Journal
of Visual Languages and Computing, Vol.6, No.3, pages 217—231 (1995).
[Tamassia88] R. Tamassia, G. Di Battista and C. Batini.Automatic Graph Drawing and read-
ability of diagrams. IEEE Trans. Syst. Man Cybern., SMC-18(1):61– 79 (1988).
[Tutte60] W. Tutte.Convex Representation of Graphs. Proc. London Math. Soc., III Ser. 10,
304–320 (1960).
[Tutte63] W. Tutte.How to draw a graph. Proc. London Math. Society, 13(52):743–768
(1963).
[Verlet67] L. Verlet.Computer experiments on classical fluids. I. Thermodynamical properties
of Lennard-Jones molecules. Phys. Rev., 159, 98-103 (1967).
[Wang91] L. C. T. Wang and C. C. Chen.A combined optimization method for solving the
inverse kinematics problem of mechanical manipulators. The International Journal
of Robotics Research (1991).
[Ware93] C. Ware, D. Hui and G. Franck.Visualizing object oriented software in three dimen-
sions. In Proc. IBM Centre for Advanced Studies Conf., CASCON (1993).
[Ware94] C. Ware and G. Franck.Viewing a graph in a virtual reality display is three times
as good as a 2-d Diagram. In IEEE Conference on Visual Languages, pp. 182-183
(1994).
[Ware96] C. Ware and G. Franck.Evaluating stereo and motion cues for visualizing informa-
tion nets in three dimensions. ACM Transactions on Graphics (TOG), 15(2):121-140
(1996).
[Welman93] C. Welman.Inverse kinematics and geometric constraints for articulated figure
manipulation. Master’s thesis, School of Computing Science, Simon Fraser Univer-
sity (1993).
REFERENCES 80
[Whitney69] D. E. Whitney.Resolved motion rate control of manipulators and human pros-
theses. IEEE Trans. Man-Machine Systems 10, pages 47-63 (1969).
[Witkin97] A. Witkin and D. Baraff.Physically Based Modeling: Principles and Practice.
Siggraph ’97 course notes (1997).
[Wolovich84] W. Wolovich and H. Elliott.A computational technique for inverse kinematics.
In Proc. 23rd. Conf. on Decision and Control, Las Vegas, NV (1984).
[Zhao94] J. Zhao and N. I. Badler.Inverse kinematics positioning using nonlinear pro-
gramming for highly articulated figures. ACM Transactions of Graphics (TOG),
13(4):313-336 (1994).
APPENDIX A
System Screenshots
FIGURE A.1. Dragging nodes using our dynamics-based skeletal graph inter-
action system. By ensuring the constraints are satisfied, it quickly produces a
much better graph drawing and allows us to improve our understanding of the
graph structure.
81
A. SYSTEM SCREENSHOTS 82
FIGURE A.2. Top: A highly stretched graph using the technique without a
threshold. Bottom: A graph stretched as far as possible using the technique
with a threshold.
A. SYSTEM SCREENSHOTS 83
FIGURE A.3. The graph in part 2 of the study using the force-directed algorithm.
A. SYSTEM SCREENSHOTS 84
FIGURE A.4. The graph in part 2 of the study using the standard skeletal technique.
A. SYSTEM SCREENSHOTS 85
FIGURE A.5. The graph in part 2 of the study using the skeletal technique with
angular constraints.
A. SYSTEM SCREENSHOTS 86
FIGURE A.6. The web graph in part 3 of the study. Top: using the standard
skeletal technique results in bunching up of nodes. Bottom: using the skeletal
technique with angular constraints gives a much better angular resolution.
A. SYSTEM SCREENSHOTS 87
FIGURE A.7. The articulated figure from figure 3.1 represented by a graph in
our graph interaction environment.
APPENDIX B
User Survey Forms
The following seven pages contain the forms given to participants of the surveys detailed in
Section 4.1 on page 48 of this thesis.
Pages 89 - 91 comprise the first part of the survey. It compares the skeletal technique with a
threshold to the skeletal technique without a threshold in terms of their ability to simulate the
skeletal metaphor.
Pages 92 - 93 comprise part 2 of the survey. It compares the force-directed algorithm, stan-
dard skeletal method and the skeletal technique with angular constraints (labelled as "hybrid").
These are evaluated in terms of their ability to increase the user’s understanding of the graph.
Pages 94 - 95 comprise part 3 of the survey, which compares the different techniques of part 2
on the specific domain graphs, including a web graph and the hex game graph.
88
89
School of Information Technologies
Faculty of Science College of Sciences and Technology
Madsen Building, F09 Telephone +61 2 9351 3776
Graph Interaction User Study Questionnaire Note: By answering these survey questions you are agreeing to participate in this study. PART 1 – Comparison of Skeletal Techniques using General Graphs For this part of the survey, we ask that you use the Skeletal Graph software and provide some brief feedback on your thoughts on two of the implemented techniques. Please run each of these commands in turn from the command line and evaluate each technique. 1 Skeletal System without thresholding (NO THRESHOLD) java -Xmx512m SkeletonGraphApp part1.cgf –s 2 Skeletal System with thresholding (THRESHOLD) java -Xmx512m SkeletonGraphApp part1.cgf –s -th A series of questions are provided below. Please circle on the given scale of 1 (LOW) to 5 (HIGH) how you feel the two systems rated. A section for extra comments is included after each question, as well as a few sections for general comments at the end of this section. A) How well does the system preserve the structure of the skeleton? (Structure is preserved when the lengths of “bones” are at their original length) NO THRESHOLD 1 2 3 4 5 THRESHOLD 1 2 3 4 5
(not well preserved) (well preserved) Additional comments:
90
B) When dragging around a node, did the bones react in the way you expected (How intuitive is the system)? NO THRESHOLD 1 2 3 4 5 THRESHOLD 1 2 3 4 5
(least intuitive) (most intuitive) Additional comments: C) While moving a node was it easy to maintain your understanding of the structure of the graph? NO THRESHOLD 1 2 3 4 5 THRESHOLD 1 2 3 4 5
(easiest) (hardest) Additional comments: D) Was the system fun to use? NO THRESHOLD 1 2 3 4 5 THRESHOLD 1 2 3 4 5
(least fun) (most fun) Additional comments: E) Which aspect of each system did you like the most, Why? NO THRESHOLD THRESHOLD F) Which aspect of each system did you like the least, Why? NO THRESHOLD THRESHOLD
91
G) Based on your experience with the two systems what do you consider to be most important, maintaining the skeletal structure or allowing freedom of movement? Explain. H) Do you have any further comments to make on any aspect of these systems or this section?
92
PART 2 – Comparison of Skeletal and Non-Skeletal Techniques For this survey, we ask that you use the Skeletal Graph software and provide some brief feedback on your thoughts on three of the implemented techniques. Please run each of these commands in turn from the command line and evaluate each technique. 1 Force-Directed Approach (FORCE) java -Xmx512m SkeletonGraphApp part2.cgf –f 2 Skeletal Approach (SKELETAL) java -Xmx512m SkeletonGraphApp part2.cgf –s 3 A Combination of the two above approaches (HYBRID) java -Xmx512m SkeletonGraphApp part2.cgf –sf Four questions are provided below. Please circle on the given scale of 1 (LOW) to 5 (HIGH) how you feel each of the three systems rated. A section for extra comments is included after each question, as well as a larger section for general comments at the end of this section. A) How easy was it to obtain a picture in which you could easily understand the structure of the graph? FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5
(very hard) (very easy) Additional comments: B) While moving the structure around, did the graph react in the way you expected (How intuitive is the system)? FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5
(least intuitive) (most intuitive) Additional comments:
93
C) While moving a node was it easy to maintain your understanding of the structure of the graph? FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5 (very hard) (very easy) Additional comments: D) Was the system fun to use? FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5
(not at all) (definitely) Additional comments: E) Which aspect of each system did you like the most, Why? FORCE SKELETAL HYBRID F) Which aspect of each system did you like the least, Why? FORCE SKELETAL HYBRID G) Do you have any further comments to make on any aspect of these systems or this section?
94
PART 3 – Specific Domain Graphs For this survey, we ask that you use the Skeletal Graph software and provide some brief feedback on your thoughts on the three implemented techniques on specific domain graphs. Please run each of these commands in turn from the command line and evaluate each technique. 1 Web Graphs (WEB) java -Xmx512m SkeletonGraphApp web.cgf –f java -Xmx512m SkeletonGraphApp web.cgf –s java -Xmx512m SkeletonGraphApp web.cgf –sf 2 Hex Graph (HEX) java -Xmx512m SkeletonGraphApp hex.cgf –f java -Xmx512m SkeletonGraphApp hex.cgf –s java -Xmx512m SkeletonGraphApp hex.cgf –sf Four questions are provided below. Please circle on the given scale of 1 (LOW) to 5 (HIGH) how you feel each of the three systems rated. A section for extra comments is included after each question, as well as a larger section for general comments at the end of this section. A) How easy was it to obtain a picture in which you could easily understand the structure of the graph? WEB FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5 HEX FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5
(very hard) (very easy) Additional comments:
95
B) While moving the structure around, did the graph react in the way you expected (How intuitive is the system)? WEB FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5 HEX FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5
(least intuitive) (most intuitive) Additional comments: C) While moving a node was it easy to maintain your understanding of the structure of the graph? WEB FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5 HEX FORCE 1 2 3 4 5 SKELETAL 1 2 3 4 5 HYBRID 1 2 3 4 5 (very hard) (very easy) Additional comments: D) Do you have any further comments to make on any aspect of these systems or this section?