Navigating Clustered Graphs

Size: px
Start display at page:

Download "Navigating Clustered Graphs"

Transcription

1 Navigating Clustered Graphs by Wanchun Li Bachelor Engineering, 1992 A thesis submitted to The School of Information Technologies The University of Sydney for the degree of MASTER OF SCIENCE January, 2005

2 c 2005 Wanchun Li All Rights Reserved

3 I hereby certify that the work embodied in this thesis is the result of original research and has not been submitted for a higher degree to any other University or Institution. Wanchun Li Sydney 14th May 2005

4 Acknowledgements I would like to thank Peter Eades for his supervision. This thesis would be not possible without his instructions. My thanks to my co-supervisor Seokhee Hong for her help and advice. I would like to thank Kevin Pulo for helpful discussions about hierarchy visualisation with constant visual complexity. He also kindly provided many data sets for the case study of navigating software architecture and other experiments. I would also like to thank Tim Dwyer. He has given me much critical support: he gave me important advice of spring algorithms; he was very patient to be English proof-reader of my two papers; he provided me with the Latex template for writing this thesis. Thanks to Nikola S. Nikolov for his collaboration on our paper; Hugo A D do Nascimento and Damian Merrick for discussion of force-directed algorithms. Thanks to Barbara Munday for her arrangement of lots of appointments to see my supervisor and for her very helpful and patient administration work. Thanks to all others who gave me permission to use their images or data in this thesis.

5 Contents 1 Introduction Motivation Previous Work Aims Methodology Contribution Organization of this Thesis Preliminaries Graph Models Classical Graphs and Attributed Graphs Variants of Graph Model More about Clustered Graphs Definition Abridgements of a Clustered Graph Operations of Clustered Graphs Graph Drawing Drawing Conventions Graph Drawing Algorithms Aesthetic Criteria Graph Drawing in Dynamic Environments The Mental Map Animation Visual Complexity Semantic Fisheye View

6 vi 3 A Visualisation Model for Navigating Clustered Graphs Related Work A Reference Model for General Information Visualisation A Clustered Graph Architecture for Visualisation A Visualisation Model for Hierarchical Structures A Reference Model for Graph Visualisation A Reference Model for Navigation Fisheye Views of Clustered Graphs Fisheye Views of Graphs Generate Fisheye Views of a Clustered Graph The 1st-order Fisheye View as an Abstraction Strategy The Abstraction Strategy Animation Conclusion and Future Enhancement Conclusion Future Enhancement DN LS and ODN LS: Adaptive Spring Algorithms Requirements for Layout Algorithms for Navigation Avoiding Node Overlapping Preserving the Mental Map Background and Related Work Notations DNLS Force Model Samples ODNLS Force Model Samples Analysis Properties of Output Mathematics Property of ODNLS

7 4.6.3 Time Complexity Conclusion vii 5 Experiments with DNLS and ODNLS in Static Environments Overview Measurements Assumptions Data Sets Results Analysis Normalised Area Normalised L1 Metric Length Aspect Ratio Edge Ratio Running Time Display Symmetry Effectiveness of Removing Overlaps Preserving the Orthogonal Order Summary Snap Shots Drawing Clustered Graphs Using DNLS and ODNLS Background and Related Work CG DNLS and CG ODNLS Time Complexity Sample Outputs of CG DNLS Sample Outputs of CG ODNLS Conclusion Case Study 1: Navigating Software Architectures Introduction Experiment with Visual Content Experiment with ODNLS Overview

8 viii Results Analysis Conclusion Case Study 2: Navigating Citation Graphs Introduction Experiment with Visual Content Experiment with Drawing Clustered Graphs Conclusion Conclusion and Future Work Conclusion Future Work Bibliography 102

9 List of Figures 1.1 Calculating zooming views and panning windows Using zooming and panning technique to visualize the city of San Francisco A 3D hyperbolic view A graphical fisheye view A graph representation of an e-r diagram A higraph representation of Figure A sample clustered graph A clustered graph and one of its abridgements A new cluster is created in a clustered graph and its cluster tree Different drawing conventions A sample animation of one object with the changes of position and size A schematic view of the memory system Distance, a priori importance and the fisheye DOI for a rooted tree Samples of semantic fisheye view A reference model for visualisation A clustered graph architecture for visualisation A visualisation model for structural data A reference model for graph visualisation A reference model for navigating clustered graphs A sample of the 1st-order fisheye view of a graph A sample of the 1st-order fisheye view of a clustered graph Applying the 1st-order fisheye view as an abstraction strategy for navigating a clustered graph Keyframes of smooth transition from Figure 3.8(b) to Figure 3.8(c)

10 x 4.1 Uniform scale to remove node overlapping, from [41] The overlap-free distance of a pair of nodes Samples of DNLS, with scale=0.5 of the original images f e repulsive effect f e attractive effect A sample of ODNLS, with scale=0.5 of the original images A balance state in which node overlapping occurs ODNLS repels nodes ODNLS attracts nodes Experiment results for normalised area Experiment results for normalised L1 metric length Experiment results for aspect ratio Experiment results for edge ratio Experiment results for running time A drawing of a super-cluster Sample 1 of static drawings generated by DNLS Sample 2 of static drawings generated by DNLS Sample 3 of static drawings generated by DNLS Sample 4 of static drawings generated by DNLS Sample 1 of dynamic drawings generated by ODNLS, with scale=0.2 of original images Sample 2 of dynamic drawings generated by ODNLS, with scale=0.2 of original images Sample 3 of dynamic drawings generated by ODNLS, with scale=0.12 of original images Visual content when exploring the architecture the C488 compiler Results for area Outputs of ODNLS, force scan and force transfer Results for aspect ratio Aspect Ratios of ODNLS and force transfer

11 xi 7.6 Results for L1 metric length Results for edge ratio Results for running time Results for visual content Results for area Results for aspect ratio Results for L1 metric length Results for edge ratio Results for running time

12

13 List of Tables 1.1 Category of visualisation techniques Experiment data sets Abstract layouts Visual observation results for symmetry Experiment results for removing overlapping by DNLS Screenshots of incremental views, with scale=0.2 of the original images Screenshots of fisheye views, with scale=0.25 of the original images Screenshots of incremental views, with the scale=0.2 of the original images Screenshots of fisheye views, with scale=0.25 of original images

14

15 Abstract Graphs are abstract structures that are used to model relational information. Visualisation can help one comprehend relational information represented by graphs quickly and effectively. As the amount of information has increased rapidly, graph visualisation is faced with the challenge of complexity. The problem of complexity arises from two aspects, namely, data complexity and visual complexity. The clustered graph model has been introduced to reduce data complexity. This thesis addresses the issue of navigating clustered graphs with constant visual content that avoids visual overload during navigation. This thesis introduces a navigation model for clustered graphs. This navigation model is a generic framework. The key design task of the model is to define a strategy for finding appropriate abstractions of a clustered graph. This thesis presents the visualisation technique of a semantic fisheye view of clustered graphs, which is employed as an abstraction strategy. As an abstraction strategy, a semantic fisheye view of clustered graphs can preserve constant visual content. To facility this navigation model, this thesis presents an adaptive spring algorithm for drawing clustered graphs. This algorithm has two versions: one is to draw clustered graphs in a static environment, the other is in a dynamic environment. These concepts are explored with case studies in two different application domains: navigating software architectures and navigating citation graphs.

16

17 C H A P T E R 1 Introduction 1.1 Motivation Much information is of a relational nature. Relational information can be modelled by graphs. Visualisation can help one comprehend relational information represented by graphs quickly and effectively. However, the amount of information has increased rapidly. For example, a large scale software may consist of thousands of classes and tens of thousands of dependencies. A social network, such as one that models routine communications in large organisations, can have tens of thousands of nodes and millions of edges; the WWW contains millions of web pages and billions of links among the web pages. Consequently, graph visualisation is faced with the challenge of complexity. The problem of complexity rises from two aspects, namely, data complexity and visual complexity. Data complexity arises from the size of graphs modelling information. Large graphs with thousands of nodes and edges often occur in practical applications. It has been a central challenge for graph visualisation researchers to automatically generate readable layouts of such large graphs. Visual complexity is due to limitations on human processing capacity. Humans process information using the memory system. The capacity of the memory system is very limited for processing new information. A user can only manage a small amount of information at a time. Therefore, a good picture of a graph should avoid high visual complexity in order to ease the user s cognitive load. Informally, visual complexity measures the amount of complexity of a screen presented to the user; a more formal definition if given in Section 2.5. It

18 2 Introduction is particularly important to avoid high visual complexity in a dynamic environment of graph visualisation, in which users can browse a graph, analysis and/or edit information. Several non-classical graph models have been introduced to reduce data complexity. Examples of these non-classical graph models include the clustered graph model [18], the compound graph model [53], and the higraph model [25]. The common idea of these graph models is to group the nodes and edges of a classical graph into super nodes and super edges. Super nodes and super edges are logical abstractions of normal nodes and normal edges. Super nodes are usually organized as a hierarchical structure, and different levels in a hierarchy represent different levels of detail of the associated classical graph. An effective method for visualising a large graph is to cluster the graphs to create a non-classical graph, and then visualise the hierarchical structures underlying the non-classical graph. Visualising large hierarchies has been studied extensively. In general, a visualisation approach first creates drawings of relation structures using graph drawing algorithms, and employs visualisation techniques to add visual features to the drawings (more details of visualisation pipeline are described in Section 3.2). 1.2 Previous Work Existing approaches can be categorized as static methods and navigational methods. Static methods first draw a whole picture of a hierarchy, and then employ visualisation techniques to read the detail of a specific part of the picture. Navigational methods make use of visualisation techniques to let users browse a whole structure by reading a part of the whole data step by step. Visualisation techniques are broadly classified as Zooming and Panning and Focus+Context [11]. Zooming and Panning techniques are simple to understand. Such techniques are investigated by [7] [8] [9] [20] [56] [58] etc. Figure 1.1 shows how to calculate zooming views and panning windows cited from [20]. Figure 1.2 shows a sample picture cited from [56]. In general, a Zooming and Panning technique is simple to implement, but it does not integrate a user s focus and global context very well. Focus+Context techniques simultaneously access specific details and global context. They can be further grouped as geometric approaches and semantic approaches.

19 1.2 Previous Work 3 Figure 1.1: Calculating zooming views and panning windows Figure 1.2: Using zooming and panning technique to visualize the city of San Francisco

20 4 Introduction Geometric approaches. A geometric Focus+Context technique geometrically magnifies and reduced magnifies the focus area and peripheral contexts respectively. A potential problem of such a technique is that the geometric distortion can increase visual complexity and destroy aesthetically pleasing features. Such techniques are investigated by [4] [34] [38] [50] [48] etc. A review of distortion techniques is given by [35]. Figure 1.3 shows a 3D hyperbolic view cited from [34], and Figure 1.4 shows a graphical fisheye view cited from [50]. Figure 1.3: A 3D hyperbolic view Figure 1.4: A graphical fisheye view

21 1.2 Previous Work 5 Semantic approaches. Semantic Focus+Context approaches present a part of a large hierarchy selected by some semantic filtering rules. Such techniques are investigated by [13] [21] [22] [44] [52] [51] etc. A key task of a semantic approach is to define a semantic filtering strategy to form an appropriate abstraction of the whole structure, such that the abstraction can represent the large hierarchy well. A well accepted semantic rule is the semantic fisheye view, which is a formalisation of the semantic threshold for structural data [21] (More details of semantic fisheye view are discussed in 2.6). Table 1.1 summarizes some information visualisation techniques, classifying them by Zooming and Panning vs. Focus+Context and static method vs. navigational approaches. Most of these techniques solve the problem of complexity from the aspect of data complexity. By reducing data complexity, visual complexity is reduced as well. Static Method Navigation Zooming and Panning [7] [9] [20] [56] [8] [58] Focus + Geometry [4] [38] [50] [34] [48] Context Semantics [21] [44] [21] [22] [13] [51] [52] Table 1.1: Category of visualisation techniques Recently, Pulo proposed a navigation technique for large hierarchies by solving the problem of complexity from the aspect of visual complexity [45]. Pulo s approach conserves constant visual complexity during navigation of large hierarchies. A main advantage of conserving constant visual complexity is to avoid visual overload by increasing visual complexity such that users can comprehend visual information with reasonable cognitive load. An important visualisation rule is Tufte s Data-Ink principle [55]. The basic idea of the Data- Ink principle is to present the greatest possible amount of data by the least possible amount of visual representation. Pulo s approach is to conserve visual complexity at a constant level, and present the greatest possible amount of data. Thus, by conserving constant visual complexity, a visualisation system can provide a balance between the amount of data visualized and the visual complexity presented. Currently, most research focuses on navigational approaches. Herman et al. [28] review the literature of navigation. More navigational approaches and other visualisation techniques can be found in proceedings of various conferences such as [1] [3] [2].

22 6 Introduction 1.3 Aims This thesis addresses the issue of navigating clustered graphs. It introduces a navigation model for clustered graphs. This navigation model is a generic framework. The key design task of an implementation of the navigation model is to define a strategy for finding appropriate abstractions of a clustered graph. This thesis presents an abstraction strategy by applying the semantic fisheye view to clustered graphs, which is a semantic Focus+Context technique that can conserve constant visual complexity. To facilitate this navigation model, this thesis presents an adaptive spring algorithm for drawing clustered graphs. This algorithm has two versions: one is to draw clustered graphs in a static environment; the other is in a dynamic environment. 1.4 Methodology The research of this thesis takes common scientific methodologies: Model A navigation model is proposed. An implementation of this model is studied. Algorithm and Experiments An algorithm is proposed for drawing clustered graphs. Experiments are carried out to compare the proposed algorithm to previous algorithms. Application Studies Two applications are investigated. One is to navigate software architectures; the other is to navigate social networks. 1.5 Contribution The first contribution of this thesis is the navigation model for clustered graphs. This model helps visualise large graphs. The second contribution is the Semantic Fisheye View of Clustered Graphs, which is an abstraction strategy for the the navigation model. Another contribution is an adaptive spring algorithm for drawing clustered graphs. This algorithm can avoid node overlapping in drawings of graphs and preserve the mental map in dynamic environments. The algorithm assists with drawing clustered graphs in dynamic environments, such as graph navigation, dynamic graph drawing, interactive graph drawing, or incremental graph drawing.

23 1.6 Organization of this Thesis Organization of this Thesis This thesis is organized as follows. Chapter 2 introduces background knowledge. Chapter 3 presents a navigation model. Chapter 4 proposes two adaptive spring algorithms for drawing clustered graphs. Chapter 5 describes a set of experiments to evaluate the proposed algorithms. Chapter 6 describes how to use the proposed algorithms to draw clustered graphs in static environments and dynamic environments. Chapter 7 evaluates the model and the algorithms by navigating software architectures. Chapter 8 evaluates the model and the algorithms by navigating social networks. Chapter 9 concludes this thesis and proposes future work.

24 C H A P T E R 2 Preliminaries This chapter introduces the background of this thesis. Section 2.1 introduces graph models. Section 2.2 gives details of clustered graphs. Section 2.3 and Section 2.4 discuss issues of graph drawing in static environments and dynamic environments, respectively. Section 2.5 describes issues of visual complexity. Section 2.6 describes the semantic fisheye view technique. 2.1 Graph Models The classical graph model was implicated by Leonhard Euler in [17] for solving the well-known problem of the bridges of Koňigsberg. Variants of the classical graph model have been introduced in recent decades Classical Graphs and Attributed Graphs A classical graph is G = (V, E), where V is a finite set of nodes, and E is a finite set of edges. In a classical graph, nodes represent entities, and edges represent relationships between entities. If the pair of nodes of an edge is unordered, G is an undirected graph, otherwise it is a directed graph. A node v i is said to be adjacent to a vertex v i if v i v j is an edge of G. If any two nodes are joined by a path, G is a connected graph. A tree T is a connected graph without cycles. A rooted tree is a tree in which a special node is singled out. A classical graph is sometimes called an abstract graph. An abstract graph may be drawn with points as nodes. In practical applications, the vertices can have attributes, while edges can represent different relations. Graphs in which nodes and edges have attributes are called attributed graphs. Figure 2.1 is an attributed graph representation of the entities and relations of a database system (from [25]).

25 2.1 Graph Models 9 Figure 2.1: A graph representation of an e-r diagram Figure 2.2: A higraph representation of Figure Variants of Graph Model Many variants of the classical graph model have been introduced for many different purposes. Some of these variants aim to be formalisms for visualization and give rise to new mathematical notions. Higraphs In a higraph model [25], nodes are grouped into blobs in multilevel, each blob represents a set of interest. Note that one node is allowed to be in several blobs. An edge can connect any pair of blobs or nodes. Figure 2.2 is a higraph representation of the E-R diagram of 2.1 (from [25]).

26 10 Preliminaries Figure 2.3: A sample clustered graph Compound digraphs Compound digraphs [53] group the nodes into subgraphs in multiple levels in a similar way to higraphs. However, one node only can belong to one subgraph in a compound digraph. There are two kinds of edges, namely, inclusion edges and adjacency edges. Inclusion edges represent the relations of a node and its group, while adjacency edges represent the relations of a node or node group to another node or node group. Figure 2.2 is a special higraph, in which each node only belongs to one blob. It is in fact, a compound digraph. Clustered graphs A clustered graph [18] is a graph with a recursive clustering structure over the vertex. A clustered graph is composed of a graph and a rooted tree. The nodes of the graph are exactly the leaf nodes of the tree. The edges only join the leaf nodes in a clustered graph. Figure 2.3 is a clustered graph representation of the research cooperation between some Australian research institutions and their industrial partners (from [18]). 2.2 More about Clustered Graphs This section introduces the background of clustered graphs, including a formal definition, abridgements, and operations on clustered graph.

27 2.2 More about Clustered Graphs Definition A clustered graph C = (G, T ) consists of an undirected graph G, and a rooted tree T (called the cluster tree). The leaves of T are exactly the nodes of G. The leaves of T are the leaf-clusters of C and non-leaf nodes of T super-clusters of C; both leaf-clusters and super-clusters are referred to as clusters. The root of T is also referred to as the root-cluster. Suppose c s is a super-cluster, c child is a child of c s in T. The cluster c child is called a child-cluster of c s, and c s is the parent-cluster of c child Abridgements of a Clustered Graph In an abridgement of a clustered graph, super-clusters have two states, opened and closed. Every descendent of a closed super-cluster is closed, and leaf-clusters are always closed. A closed cluster in an abridgement is a maximal cluster if it is either the root or its parent-cluster is opened. A clustered graph is an abridgement of itself, in which all super-clusters are opened. A clustered graph can be visualised by a drawing of one of its abridgements as its logical abstraction. Figure 2.4 shows the drawing of a clustered graph and one of its abridgements. (a) Drawing of a clustered graph (b) Drawing of an abridgement as a logical abstraction of 2.4(a) Figure 2.4: A clustered graph and one of its abridgements Operations of Clustered Graphs This thesis makes use of the basic operations of clustered graphs such as open-cluster, close-cluster, and create-cluster. Each of these operations takes an abridgement and produces another abridgement.

28 12 Preliminaries Close-Cluster An opened non-root super-cluster can be closed. Figure 2.4(b) can be seen as the output of closing clusters 3 and 4 of the clustered graph in Figure 2.4(a). Open-cluster A closed non-leaf-cluster c can be opened. Open-cluster is a reverse operation of close-cluster. Figure 2.4(a) can be seen as the output of opening clusters 3 and 4 of the abridgement in Figure 2.4(b). Create-cluster A new cluster can be created for clustering a set of clusters that are under the same super-cluster. Figure 2.5 shows a new cluster is created in the clustered graph of Figure 2.4(a). The shaded rectangle in Figure 2.5(a) is the new cluster containing cluster 4.3 and 4.4, which are contained by cluster 4 in Figure 2.4(a). Figure 2.5(b) is the updated cluster tree. The shaded node is the newly created cluster. In most cases of this thesis, the operation of createcluster creates a new cluster which is not assigned a label. Such a new cluster is called a pseudo-cluster. (a) Drawing of the clustered graph in 2.4(a) with a new cluster created (b) The updated cluster tree Figure 2.5: A new cluster is created in a clustered graph and its cluster tree 2.3 Graph Drawing A drawing Γ of a graph G is a geometric representation of the graph in the Euclidean space. In such representations, vertices are drawn as points or different shapes of boxes, and edges are curves whose endpoints are the locations of two end nodes. Specially, a drawing of a clustered graph should present the cluster relationships.

29 2.3 Graph Drawing Drawing Conventions Visualising a graph aims to help those who are interested in the information represented by the graph. Different people deal with the information for different purposes, and they might want different conventions of drawing a graph. A drawing convention here means a basic rule that the drawing must satisfy to be admissible [6]. There are drawing conventions commonly accepted: polyline drawing all edges are straight lines that may have bends. straight-line drawing all edges are represented by a single straight line. orthogonal drawing edges are represented only by horizontal and vertical lines. upward drawing all edges are upward in a drawing of a directed graph. planar drawing no edge crossings are presented. Figure 2.6 shows samples of polyline drawing, straight-line drawing, orthogonal drawing, and upward drawing (from [29]). Details of drawing conventions can be found in [6]. Figure 2.6: Different drawing conventions Graph Drawing Algorithms Algorithms for automatically generating layouts of graphs have been studied intensively. The algorithms can be categorized into general methods such as force-directed methods, orthogonal meth-

30 14 Preliminaries ods, and layered methods. A description of force-directed algorithm is given below. Discussion of orthogonal methods, and layered methods can be found in [6]. Force-directed algorithms model a graph as a physical system and find a minimum energy state of the system. A minimum energy state is called a balance state of the system, which maps a layout of the graph. Eades [12] proposed the spring algorithm that models a graph as a spring system, in which nodes are replaced by steel rings and edges by springs connected to the rings. All the springs have the same natural length k, and each spring has a current length d. Given a pair of rings connected by a spring, if k>d, then the spring attracts the rings; if k<d, then the spring repels the rings; if k=d, then there is no force existing and the rings are stable. The spring forces attract or repel the rings until the system reaches a balance state. The strength of the forces is determined by k and d. Eades calculates the forces using the functions: f a =C 1 log(k/c 2 ) f r =C 3 /sqr(d) where f a is the attractive force, f r is the repulsive force, and C 1, C 2, C 3 are coefficients. The input of a force-directed algorithm is an undirected graph, and the output is a drawing of the graph. The running time of a spring algorithm is O(n 2 ), where n is the number of the nodes. There are many ways to improve this time complexity (see [47] for the details). The layout generated by a spring algorithm has two features: display of symmetry and uniform edge length. A force system is not guaranteed to generate a good drawing for all graphs. The forces exerted on some rings might be too strong or too weak, and the spring system cannot arrive at a balance state. One solution is to adjust the coefficients; another is to adopt different force models. Some implementations however, also set a fixed number of iterations, in order to end the spring forces in a predictable time. There are some variants of the spring algorithm that adopt different force models such as Barycenter, annealing, electrical, and magnetic. Details of these models and a general energy function are discussed in [6] Aesthetic Criteria Some drawings are better than others in conveying the information of a graph. Suppose Γ is a drawing of a graph G in a 2D Euclidean space with height h and width w. The quality of Γ is

31 2.4 Graph Drawing in Dynamic Environments 15 sometimes measured by how well it meets the aesthetic criteria: minimisation of edge crossings. minimisation of area. aspect ratio close to specified value. Aspect ratio is equal to max(h, w)/min(h, w). minimisation of L1 metric length. L1 metric length is equal to max(h, w). maximisation of symmetry. minimisation of total edge length. uniform edge length. minimisation of bends, if Γ is an orthogonal drawing. maximisation of smallest angular resolution if Γ is a straight line drawing. Angular resolution refers to the smallest angle formed by two edges incident on the same vertex. Note that a drawing of a graph generally can not simultaneously optimise all the criteria. 2.4 Graph Drawing in Dynamic Environments Many graph drawing systems are in dynamic environments. In such environments, layouts of graphs change in response to user interaction. The changes of layout might be caused by two issues. One is that the data of graphs change, for example, adding or removing nodes or edges; this is called dynamic graph drawing. The other is that a graph is partly visualised in a layout, and a different part is displayed in response to user interaction. A typical case is in navigating a graph The Mental Map An important issue of graph drawings in dynamic environments is preserving a mental map. A mental map refers to a representation of a drawing s geometric structure in a user s mind. It can be modeled by difference metrics such as distance, proximity, orthogonal ordering, shape, and topology [10]. This thesis measures the mental map using orthogonal ordering proposed by Eades et al [41]. Orthogonal ordering models the most basic mental map, which preserves up, down, left, and right.

32 16 Preliminaries Given a graph G = (V, E) and its two drawings Γ and Γ, and a node v of V and its positions (x v,y v) and (x v,y v ) in Γ and Γ respectively, and for every u of V with the positions (x u,y u) and (x u,y u ) in Γ and Γ respectively, Γ preserves the orthogonal order of Γ if x v < x u x v < x u, and y v < y u y v < y u, and x v = x u x v = x u, and y v = y u y v = y u Animation Animation is usually used in dynamic environments for presenting a smooth transition from one view to an updated view. An animation is a sequence of images that can show successive changing of two individual views. The two individual views are keyframes, and the sequence of images are inbetween frames. Each inbetween frame makes small changes of the objects contained, and creates the illusion of movement of the objects. The changes of objects can be motion, including rotation and movement, shape, or colour. Figure 2.7 shows an animation of one object with the changes of position and size. In this picture, the two solid rectangles are keyframes, while the dashed rectangles are inbetween frames. Figure 2.7: A sample animation of one object with the changes of position and size 2.5 Visual Complexity Visual complexity of a drawing of a graph is measured by the ratio of the visual content to the data content [45]. The data content refers to the amount of data represented. The visual content is the combination of characters of visible elements and features of the underlying layout. The visible elements refer to nodes, edges, labels and colours, and their characters refer to diversity and variety. The features of the layout includes asymmetry, dimensionality, etc. Temporal visual content is involved with animation in a dynamic environment of graph visualization is [43].

33 2.6 Semantic Fisheye View 17 Humans process information using a memory system. The memory system includes three stages, namely, sensory memory, short-term memory, and long-term memory. Information is passed through each individual memory stage. In each stage information is reorganized, and a good deal of information gets lost during the process of reorganization. Figure 2.8 is the schematic view of the human memory system. Figure 2.8: A schematic view of the memory system The sensory memory is related to the specific sense organs for receiving information such as eyes or ears, and long-term memory is the knowledge store of the human system. Most processing tasks are handled by short-term memory. Short-term memory has two important characteristics. Capacity is limited. It usually contains only 7+/-2 items [40] Memory decays quickly. Information is lost within 200ms unless refreshed [36] Thus a user can manage only a limited amount of information at a time, and high visual complexity makes it difficult for users to comprehend information presented. 2.6 Semantic Fisheye View Furnas proposes the semantic fisheye view for reducing visual complexity of large structure visualization [21]. Its basic idea is to provide a balance of local details and global context. Local details display the information of a specific part, which is called the focus of a semantic fisheye view. Global context is presented by showing the more remote regions to the focus in successively less detail. The semantic fisheye view uses Degree of Interest (DOI) to measure how a point in the structure is related to the focus. A successful semantic fisheye view depends on how a DOI function can

34 18 Preliminaries appropriately describe the structure. Given a focus point y, a point x in structure S, a generalized DOI function is proposed in [21] as Equation 2.1 DOI fisheye (x y) = AP I(x) D(x, y) (2.1) where: API(x) is a priori importance of point x, D(x,y) is the distance between x and y. Specially, the DOI function of a tree structure is Equation 2.2 DOI fisheye (x y) = d tree (x, y) d tree (x, root) (2.2) A semantic fisheye view is generated by filtering the nodes whose DOI is lower than a threshold k. A semantic fisheye view of a tree is called the k-order fisheye view if it contains nodes that are at K-level of a tree but not the focus ancestors. According to Equation 2.2, in a tree structure, a focus and its ancestors have the same value of DOI, and its siblings have the same value of DOI as the siblings of its ancestors. Thus, a semantic fisheye view is in zero-order if it contains only a focus and its ancestors including the root, and in 1st-order if it contains a focus, its siblings, its ancestors, and its ancestors siblings. Figure 2.9 is a sample of calculating DOIs of a tree structure. Figure 2.10 (from [21]) shows samples of the semantic fisheye view of the tree structure in Figure 2.9.

35 2.6 Semantic Fisheye View 19 (a) Distance from y to the root: d tree(x, y) (b) A priori importance in the tree: d tree(x, root) (c) DOIs of a fisheye view: DOI fisheye (x.y) = AP I(x) D(x, y) Figure 2.9: Distance, a priori importance and the fisheye DOI for a rooted tree (a) SFV: threshold k = 5, 1st-order fisheye view (b) SFV: threshold k = 7, 2nd-order fisheye view Figure 2.10: Samples of semantic fisheye view

36 C H A P T E R 3 A Visualisation Model for Navigating Clustered Graphs This chapter discusses reference models for visualisation. Section 3.1 introduces related work. Section 3.2 presents a reference model for graph visualisation. Section 3.3 proposes a reference model for navigating large graphs. Section 3.4 proposes semantic fisheye views for clustered graphs. Section 3.5 applies the 1st-order semantic fisheye views as an abstraction strategy in the proposed navigation model for clustered graphs. Section 3.6 concludes this chapter and proposes future enhancement. 3.1 Related Work A reference model is a general visualisation model that is an abstract description of the visualisation process [49]. This section introduces three reference models that are proposed from different aspects of visualisation A Reference Model for General Information Visualisation Card et al. [11] propose a reference model for visualisation that is composed of four components, namely, raw data, data table, visual structure, and view. This model is named as thegeneral visualisation model in this thesis. This model views visualisation as adjustable mapping from data to visual form to human perceiver [11]. Figure 3.1 shows this model. In this picture, arrows that flow from left to right indicate the transformations from one component to another, while arrows from right to left indicate adjustments to the visualisation system by human interactions. In this model, raw data is stored in an idiosyncratic format. Data transformations find some relation inside raw data and transform the data into data tables that are relational structures. Visual

37 3.1 Related Work 21 Figure 3.1: A reference model for visualisation mappings assign spatial and graphical properties to relational structures. Views are created by applying some visualisation specification to visual structures. Users can adjust the visualisation process by interaction with a visualisation system. Information Visualisation research focuses on visual mappings, view transformations and human interaction A Clustered Graph Architecture for Visualisation Eades et al. [13] propose a layered clustered graph architecture for the purpose of visualisation. This architecture is composed of four layers, namely, the graph layer, the clustering layer, the abridgement layer, and the picture layer. Figure 3.2: A clustered graph architecture for visualisation Figure 3.2 shows the architecture cited from [13]. In this architecture, the graph layer is a huge graph G to be visualised. The clustering layer is a clustered graph C that represent the huge graph by partitioning the graph to clusters. The abridgement layer is an abridgement A that is a logical abstraction of the clustered graph C. The picture layer is the visual presentation V of the abridgement A. Users can interact with the picture V. The system responds to the requests of users by changing A, and V is updated based on the changed A.

38 22 A Visualisation Model for Navigating Clustered Graphs A Visualisation Model for Hierarchical Structures Pulo [45] proposes a visualisation model for hierarchical structures. Figure 3.3 shows the model cited from [45]. Figure 3.3: A visualisation model for structural data In this model, different levels of hierarchies present different levels of detail of the structures. Higher levels are logical abstractions of lower levels. Structural zooming here means semantic filtering, which thresholds some data of hierarchies using a specific semantic rule such as the semantic fisheye view. The structurally zoomed geometry consists of the geometric properties of an abstraction. The image of an abstraction is generated based on the geometric properties. Pulo [45] also presents a principle of abstraction in which constant visual complexity is conserved during navigation. A visualisation technique conserves constant visual complexity if its visual complexity is linearly proportional to the data content. The key point of a successful visualisation system that conserves constant visual complexity, is to define an appropriate amount of visual complexity, such that the pictures can present meaningful information about the underlying data during navigation. 3.2 A Reference Model for Graph Visualisation Visualising relational structures is the research focus of graph visualisation. This section proposes a reference model for graph visualisation, which is derived from the general visualisation model. This graph visualisation model consists of three components, namely, graph, visual structure, and

39 3.3 A Reference Model for Navigation 23 view. This model is named as the graph visualisation model in this thesis. Figure 3.4 shows the graph visualisation model. In this picture, there are two kinds of arrowed lines. The solid arrowed lines represent data flow, and the attached labels indicate techniques required. The dashed lines represent communication flow, and the attached labels indicate the tasks transformed by the associated communication flows. The component of graph in this model represents relational data, which is represented as data table in Figure 3.1. The components of visual structure and view have the same meanings as those of the general visualisation model. Graph drawing algorithms compute spatial and graphical properties of a graph. Visualisation techniques have two functionalities: 1. to add extra visual features to visual structures, and 2. to generate a view based on visual structures. Views present the data stored in graphs, and users process the information conveyed by views. Users can interact with views by interaction techniques employed in dynamic graph visualisation systems. Requests of users are handled by a visualisation system. If a response to a user s request does not change the data of a view, the task might be taken by the techniques of visualisation. Otherwise, graph drawing algorithms might be involved to handle the request. Figure 3.4: A reference model for graph visualisation 3.3 A Reference Model for Navigation This section proposes a reference model for navigating large graphs, which is an extension of the graph visualisation model and applies the layered architecture of clustered graphs. There are four components in the navigation model, namely, graph, clustered graph, abridgement, and view. This model is named as the navigation model in this thesis. Figure 3.5 shows the navigation model. In this picture, the four components are connected by arrowed lines, and the labels indicate the operation to transform one component to another.

40 24 A Visualisation Model for Navigating Clustered Graphs Figure 3.5: A reference model for navigating clustered graphs The basic idea of the navigation model is to partition a large graph into a clustered graph. The clustered graph is represented by one of its abridgements as its logical abstraction. Views of the abridgement are created in the way discussed in the graph visualisation model. Users comprehend the information conveyed by a view, and interact with the view in order to obtain more information. Requests of users are sent to the component of clustered graph, which responds to the request by updating the abridgement. In a visualisation system of the navigation model, the key task is to find an abstraction strategy that can generate an appropriate abridgement of a clustered graph. An appropriate abridgement should have the properties as follows: 1. containing enough information to represent the clustered graph, 2. preserving the context of the previous view in response to the requests of users, and 3. limiting visual complexity in the views created. 3.4 Fisheye Views of Clustered Graphs This section proposes an abstraction strategy for creating an abridgement of a clustered graph in the navigation model. This strategy applies the semantic fisheye view (see 2.6) to a clustered graph. Hereafter, fisheye view refers to the semantic fisheye view in this thesis.

41 3.4 Fisheye Views of Clustered Graphs Fisheye Views of Graphs Equation 2.1 (DOI fisheye (x.y) = AP I(x) D(x, y)) is a generalized DOI function. In an undirected graph, if all nodes are assumed to have the same API, then the DOI function of a normal graph is converted to Equation 3.1 DOI fisheye (x.y) = D(x, y) (3.1) where D(x, y) is the graph distance between a node x and a focus y. Hence, the DOI value of a node of a graph is the negative of the graph distance to a focus. A k-th order fisheye view of a graph contains all the nodes whose graph distances to a focus are not larger than k. Figure 3.6 shows a sample. The left picture shows a graph, and the right picture shows the 1st-order fisheye view with the solid node as the focus. Figure 3.6: A sample of the 1st-order fisheye view of a graph Generate Fisheye Views of a Clustered Graph A cluster c has two structural properties in a clustered graph C = (G, T ). One is that in the cluster tree T ; the other is that in the underlying graph G. A fisheye view of a clustered graph is a combination of the fisheye views of both T and G. A k-th order fisheye view of a clustered graph C = (G, T ) is an abridgement, whose clusters belong to the k th order fisheye view of either T

42 26 A Visualisation Model for Navigating Clustered Graphs or G. A cluster that does not belong to a fisheye view of a clustered graph is called an unrelated cluster to the fisheye view. Figure 3.7 is a sample. The left picture shows a clustered graph, and the right picture shows the 1st-order fisheye view of the clustered graph. In the pictures, circles represent leaf-clusters, rectangles represent super-clusters, a shaded oval represents a pseudo-cluster, and a solid cluster is a focus. In the right picture, all clusters under the super-cluster c 1 are unrelated clusters, and they are closed. The cluster c 1 is not an unrelated cluster because it belongs to the 1st-order fisheye view of the cluster tree. All siblings of focus belong to the 1st-order fisheye view of the cluster tree. The two leaf-clusters under the cluster c 3 belong to the 1st-order fisheye view of the graph. One child-cluster of the cluster c 4 belongs to the 1st-order fisheye view of the underlying graph, but the other two are unrelated clusters. The two unrelated clusters are clustered under a newly created pseudo-cluster. Figure 3.7: A sample of the 1st-order fisheye view of a clustered graph 3.5 The 1st-order Fisheye View as an Abstraction Strategy The fisheye view of a clustered graph can be used as an abstraction strategy in a visualisation system, according to the navigation model along the lines of Figure 3.5.

43 3.5 The 1st-order Fisheye View as an Abstraction Strategy The Abstraction Strategy In such a system, navigation begins with an initial view of a clustered graph C = (G, T ). Users can open a super-cluster in a view of an abridgement. The view is updated in response to user interaction. The view with which the user interacts is called a presented view, and the updated view is a responded view. The corresponding abridgements of the initial view, a presented view, and a responded view are called the initial abridgement, a presented abridgement, and a responded abridgement, respectively. The initial abridgement consists of the clusters of the 1st-order fisheye view of C with the rootcluster as the focus. The initial view is the first presented view. In a presented view, users can click a super-cluster, c f, to see more details of the super-cluster. A responded view is a view of a responded abridgement that contains the 1st-order fisheye view of the corresponding presented abridgement with c f as the focus, and the child clusters of the focus, which are presented in response to requests of users. Figure 3.8 shows a sample of the navigation process. In these pictures, a cluster in grey colour is the opened focus cluster, a cluster in yellow is a leaf-cluster, and a cluster in green is a super-cluster. Figure 3.8(a) is the initial view. Figure 3.8(b) shows a responded view V 1, which is the view of a responded abridgement A 1. In V 1, the super-cluster, we call it c 1, is opened as the focus, and its child-clusters are presented. Figure 3.8(c) shows another responded view V 2, which is the view of another responded abridgement A 2. In V 2, another super-cluster, we call it c 2 is opened as the focus. Clusters that are not in the fisheye view of A 1 are closed, and the closed clusters are clustered under a pseudo-cluster. Figure 3.8(d) shows a responded view V 3, in which a new focus is opened. In V 3, the child-clusters of the focus are displayed and the unrelated clusters to the fisheye view of A 2 are closed. All descendant clusters of c 1 are unrelated clusters, and they are closed. Some descendant clusters of c 2 are unrelated clusters, and they are clustered under a newly created pseudo-cluster. Other descendant clusters of c 2 are clusters of the fisheye view of A2, and they are displayed Animation Smooth transition is presented by an animation that consists of three stages. The first stage shows the process of decreasing the size of unrelated clusters. The second stage shows the process of clustering unrelated clusters under a pseudo-cluster. The third stage shows opening child-clusters of a focus.

44 28 A Visualisation Model for Navigating Clustered Graphs (a) Initial View (b) Responded View V1 (c) Responded View V2 (d) Responded View V3 Figure 3.8: Applying the 1st-order fisheye view as an abstraction strategy for navigating a clustered graph

45 3.5 The 1st-order Fisheye View as an Abstraction Strategy 29 (a) Keyframe 1 (b) Keyframe 2 (c) Keyframe 3 (d) Keyframe 4 (e) Keyframe 5 (f) Keyframe 6 Figure 3.9: Keyframes of smooth transition from Figure 3.8(b) to Figure 3.8(c)

46 30 A Visualisation Model for Navigating Clustered Graphs Figure 3.9 shows the keyframes of smooth transition from Figure 3.8(b) to Figure 3.8(c). Figure 3.9(a) is a key frame that shows a drawing of abridgement. Figure 3.9(b) shows a user opens another cluster as a new focus, and the unrelated clusters are compressed. Figure 3.9(c) shows that all the compressed unrelated clusters move to a new position, and then a newly created pseudocluster is added to this position. Figure 3.9(d) shows the newly created pseudo-cluster is enlarged to a default size. Figure 3.9(e) shows that all existing clusters are moved to their final positions and the child-clusters of the focus are displayed. Figure 3.9(f) is a drawing of the new fisheye view. 3.6 Conclusion and Future Enhancement Conclusion This chapter introduces a graph visualisation model derived from the general information visualisation model. A navigation model for large graphs is proposed by extending the graph model. The basic idea of the navigation model is to partition a large graph into a clustered graph, and present to users a view of an abridgement of the clustered graph. Users navigate the clustered graph by interacting with the view to obtain more information. The key design issue of a navigation system of the navigation model is to define an abstract strategy to form an appropriate abridgement of a clustered graph. The (semantic) fisheye view of clustered graphs is proposed as a filtering technique. A fisheye view of a clustered graph is a combination of the fisheye views of the cluster tree and the underlying graph. The 1st-order fisheye view of clustered graphs is investigated as an abstraction strategy of the navigation model Future Enhancement Future enhancement of the navigation model and fisheye view abstraction strategy is possible. Adjustment of a Fisheye View of a Clustered Graph There are two directions of adjustment of a fisheye view of a clustered graph: to increase or decrease the amount of clusters in order to increase or decrease the corresponding visual content. Increasing visual content A higher order fisheye view of a clustered graph can increase the number of clusters in a fisheye view of a clustered graph, and the visual content is increased consequently.

47 3.6 Conclusion and Future Enhancement 31 This thesis investigates the 1st-order fisheye view in two case studies. Higher order fisheye views are also applicable for such a purpose. However, a higher order fisheye view tends to cause higher visual complexity for large clustered graphs. This thesis concentrates on the 1st-order fisheye, but options for adjusting the order of the fisheye view are provided in the implementation of software. Decreasing visual content The 1st-order fisheye view sometimes still produces larger amounts of visual content than a visualisation system wants. In such cases, it is necessary to decrease the number of clusters in the fisheye view. A fisheye view of a clustered graph is a combination of the fisheye views of both the associated cluster tree and the underlying graph. Therefore, a reduction of the number of clusters of a fisheye view can be obtained by decreasing the size of the fisheye view of the cluster tree and that of the underlying graph. Furnas proposes a method to decrease the size of a fisheye view of a tree by farther filtering nodes that are geometrically far from the focus in a drawing of fisheye view [21]. A fisheye view of a graph can farther filter some nodes using a different DOI function. In this paper, all nodes in a graph are assumed to have the same API. However, other API functions are possible. One way is to assign a higher API to a node with higher degree. Then adopting a higher threshold value can reduce the size of a fisheye view of a graph. Conserving Constant Visual Complexity The 1st-order fisheye view of a clustered graph can conserve constant visual content. However, the amount of visual content cannot be finely controlled in this way, but is dependent on the size of the fisheye view, which is dependent on how the clustering relations are partitioned in the clustered graph. In other words, the 1st-order fisheye view of a clustered graph can conserve constant visual complexity, but it cannot determine the value of visual complexity. The adjustment methods discussed above can be used to finely control the amount of visual content with Pulo s filtering rules as an extra restriction.

48 32 A Visualisation Model for Navigating Clustered Graphs Multiple Foci Fisheye View of a Clustered Graph A multiple foci fisheye view can be generated by combining every individual fisheye view. Multiple foci allows users to see details of several super-clusters at the same time. Practical applications may have such kinds of requirements in some cases.

49 C H A P T E R 4 DN LS and ODN LS: Adaptive Spring Algorithms A graph drawing algorithm is an essential facility for automatically generating visualisations of clustered graphs for navigation. This chapter presents two adaptive graph drawing algorithms, namely, Dynamic Natural Length Spring Algorithm (DNLS) and Orthogonal Dynamic Natural Length Spring Algorithm (ODNLS). DNLS and ODNLS can draw the layouts of clustered graphs in a divide-and-conquer way in static and dynamic environments, respectively. This chapter introduces the algorithms. Chapter 5 describes some experiments with the algorithms. Chapter 6 presents approaches for drawing clustered graphs in static and dynamic environments using the algorithms. This chapter is organized as follows. Section 4.1 states the requirements for the algorithms for navigation. Section 4.2 introduces the related work. Section 4.3 defines the notations used to discuss the algorithms. Section 4.4 and Section 4.5 describe DNLS and ODNLS respectively. Section 4.7 concludes this chapter. 4.1 Requirements for Layout Algorithms for Navigation A layout algorithm for navigation should satisfy three requirements: avoiding node overlapping, producing compact output and preserving the mental map Avoiding Node Overlapping Two issues might cause node overlapping when one draws a picture of a graph. The first issue occurs when applying a layout creation algorithm to a practical application in which nodes are labeled. A layout creation algorithm is designed for abstract graphs and treats nodes as points. The outputs of a layout creation algorithm might have overlapping nodes when labels are added.

50 34 DN LS and ODN LS: Adaptive Spring Algorithms The second issue of node overlapping occurs in a dynamic environment of graph drawing. Two typical operations in a dynamic graph drawing system can cause node overlapping. One is that a user opens some node for details; the other is that there are new nodes added to an existing layout. Both the opened nodes and new nodes might overlap their neighbouring nodes. Cluttered drawings cannot convey information effectively. It is essential for the drawings to avoid the overlapping. An algorithm that removes the overlapping of a layout is a layout adjustment algorithm [41]. A layout that has no overlaps is a clean layout. Note that there are two possible kinds of overlaps in a drawing of a graph. One is the image of a node overlapping the image of another node; another is the drawing of an edge crossing the image of a node. This thesis only studies the former case: overlapping among images of nodes. The second case is considered by [33] [23]. This thesis considers nodes with rectangular shape. This is commonly accepted for representation of labeled graph nodes. The results are also applicable for non-rectangular node shapes by considering the corresponding rectangles that enclose the node shapes. Producing Compact Output An opened super-cluster can be closed during navigation. When a super-cluster is closed, its childclusters disappear, and its size is decreased. If the closed cluster keeps its original size or position, the space of drawing might be wasted Preserving the Mental Map Preserving the mental map is a fundamental issue in a dynamic environment of graph visualization. This thesis measures mental maps using the orthogonal ordering model (see Section 2.4.1). 4.2 Background and Related Work Eades et al. first address the issue of removing node overlapping [41]. They propose three requirements for a layout adjustment 1. The adjusted drawing should be compact. 2. Node images should be disjointed. 3. The mental map should be preserved during interaction.

51 4.2 Background and Related Work 35 One simple solution is to uniformly scale the whole layout. The overlapping nodes can be disjointed, and the mental map is preserved. However, the generated layout is usually not compact. See Figure 4.1. (a) A drawing of an abstract graph (b) A cluttered drawing when labels added to the drawing in 4.1(a) (c) A clean layout by uniform scale of the layout in 4.1(b) Figure 4.1: Uniform scale to remove node overlapping, from [41] Eades et al. present the force scan algorithm for adjusting a cluttered layout [41]. The algorithm scans in both horizontal and vertical directions to find overlapping nodes, and move the overlapping nodes to new positions. The new positions of overlapping nodes are determined by the desirable distance. The desirable distance is the shortest distance to move two overlapping nodes apart along the line that connects their centres. The algorithm iterates the scanning and moving process until there is no further overlapping. They treat all nodes as rectangles. If the image of a node is not a rectangle, the bounding box is considered.

52 36 DN LS and ODN LS: Adaptive Spring Algorithms Hayashi et al. prove that it is NP-hard to transform a given layout of a graph with overlapping rectangular nodes into a minimum-area layout without node overlapping which preserves the orthogonal order [27]. They also propose an improved force scan algorithm as a heuristic. Given a node v i, a set of nodes overlapped {v 1, v 2,..., v n }, and the desirable distances {d 1, d 2,..., d n }, force scan moves in one iteration all the overlapping nodes by the distance max(d i ), 1 i n, while improved force scan moves min(d i ). A mathematical proof demonstrates that the outputs of improved force scan have smaller areas than the outputs of force scan. Huang and Lai introduces the Force-Transfer [30] algorithm that is another version of force scan. Instead of moving nodes along the line across the centres of two overlapping nodes, force transfer moves the overlapped nodes either horizontally or vertically. Given a pair of overlapping nodes, d h is the distance to horizontally move the nodes to remove the overlapping, and d v is the distance in the vertical direction. If d v < d h, the overlapped node is moved vertically, otherwise horizontally. Experiments show that the output of force transfer has a smaller area than that of force scan. All of force scan, improved force scan and force transfer preserve the orthogonal order. Lyons et al. propose different requirements of adjustment [37]. There are three criteria with different priorities. The first is to keep the adjusted layout in a window with the same size as the window of the cluttered layout. The second is to obtain a more even distribution of nodes. Their approach weakens the restriction of similarity. Instead of preserving the exact ordering of two layouts, the approach tries to minimise the difference between them. In other words, it tries to make the two layouts not very different. This is the third criterion, and its priority is the lowest. They present two algorithms, namely, VDCB and GeoForce. VDCB is based on the Voronoi diagram, and GeoForce is an application of the force-directed model. Empirical experiments show that both the algorithms satisfy the goals of even distribution and similarity in corresponding priorities. It is not clear how to keep the size of a layout if there is not enough space for a dense graph, or if the labelled node sizes are too big to fit in the fixed area. Gansner and North propose an algorithm inspired by VDCB [23]. This algorithm removes the restriction of the fixed size of the window, which is the first goal of VDCB. The algorithm first generates the Voronoi diagram using the node positions in a cluttered layout as sites. Then it moves each node to the centroid of its Voronoi cell. It iterates this process until there is no longer any overlapping. Experiments show that the algorithm has positive results in terms of the area of the drawings. Marriott et al. view removing overlapping as a constrained optimisation problem [39]. Four algorithms are designed based on quadratic programming. Experiments show that it takes the al-

53 4.3 Notations 37 gorithms less time to remove overlapping than force scan needs, but more time to find overlapping than force scan. They state that the layout generated by the algorithms is better than the output of force scan, but no measurement for evaluation is mentioned. This algorithm does not guarantee to preserve the mental map. All mentioned solutions are post-processing approaches, and are called layout adjustment algorithms. Generally, there are three steps to produce an uncluttered layout using these approaches. First, an initial layout is generated by a layout creation algorithm. Second, labels of nodes are added to the picture. Finally, the adjustment algorithm cleans the layout if there is overlapping. Another general approach is to integrate the layout adjustment process and the layout creation process. A force-directed model is used in such methods. Kamps et al. add to the classical spring embedder model a node-node repulsion force that minimises the overlapping area of two nodes [32]. Wang and Miyamoto increase the repulsive force but cancel the attractive force if a pair of nodes are overlapping each other [57]. Harel and Koren calculate repulsive force using a variant value l b [26]. (l b is the distance between the boundaries between a pair of nodes. If a pair of nodes are overlapped, l b is a small constant vale ɛ.) The outputs of the algorithms that integrate layout adjustment and creation have the advantages of a force-directed graph drawing algorithm, for example, display of symmetry and uniform edge length. A common problem of these algorithms is that they do not guarantee to completely separate all overlapping nodes. Note that there is no need to preserve the mental map, because the process of removing the potential overlapping is merged into the process of layout creation. In other words, there is no initial layout at all. However, the lack of a mechanism for preserving the mental map makes these algorithms unsuitable for dynamic drawing systems. 4.3 Notations The images all nodes considered in this thesis are rectangular shapes, the sides of which are parallel to the coordinate system axes. A drawing of a node in Γ is denoted by v i (x i, y i, w i, h i ), where x i and y i are coordinates of the node s centre point in the x and y directions, respectively, and w i is the width, and h i the height. The distance between the centre points of v i and v j is denoted by d vi,v j. The distance between the projections of the centre points of v i and v j in the x direction is denoted by d x v i,v j ; d y v i,v j is the corresponding distance in the y direction. The proposed algorithms are generic algorithms that can adopt any force model. This thesis

54 38 DN LS and ODN LS: Adaptive Spring Algorithms uses the force models with the attractive force f a and the repulsive force f r below f a = d/k d f r = (k d /d) DNLS DNLS is designed for solving the problem of node overlapping in static drawings. It is a layout creation algorithm that attempts to avoid node overlapping Force Model A spring algorithm calculates the forces on a node using a natural length k and the current lengths. (see Section 2.3.2). DNLS calculates the forces using a dynamic natural length k d that is determined by both the natural length k and the size of nodes. Given a pair of nodes v 1 and v 2, DNLS defines an overlap-free distance k f for the pair of nodes as k f = l 1 /2 + l 2 /2 + m where l 1 is the length of diagonal of v 1 l 2 is the length of diagonal of v 2 m > 0 is a prescribed margin between v 1 and v 2 Figure 4.2 shows the overlap-free distance of two nodes. Figure 4.2: The overlap-free distance of a pair of nodes

55 4.5 ODNLS 39 Theorem The drawings v 1 (x 1, y 1, w 1, h 1 ) and v 2 (x 2, y 2, w 2, h 2 ) do not overlap each other if the distance between their centre points is bigger than their overlap-free distance. Proof Draw a circle C 1 with the centre point (x 1, y 1 ) and radius l 1 = w1 2 + h2 1 /2. Draw another circle C 2 with the centre point (x 2, y 2 ) and radius l 2 = w h2 2 /2. C 2. We have that the drawing v 1 is completely inside C 1 and the drawing v 2 is completely inside Because the distance d between (x 1, y 1 ) and (x 1, y 1 ) is larger than k f = l 1 /2+l 2 /2+m, circle C 1 does not intercept circle C 1. Thus drawing v 1 does not overlap drawing v 2. DNLS defines a dynamic natural length for the pair of nodes v 1 and v 2 as k d = max(k, k) When the spring mechanism system calculates the forces between a pair of nodes, k d is used to determine the strength of the forces. If there is overlapping between a pair of nodes, then d v1,v2 < k d, and the spring force repels them. If d v1,v2 > k d, then the nodes are not overlapping but the edge connecting them is longer than necessary, and the spring force attracts the two nodes Samples Figure 4.3 shows two sample layouts generated by DNLS. In the pictures, edges are drawn above nodes in order to display the lengths of the edges. 4.5 ODNLS ODNLS is a post-processing approach for solving the problem of dynamic drawing overlapping. It preserves the mental map measured by the orthogonal ordering model. The input of ODNLS is a cluttered layout. The output is a clean layout that has the same orthogonal order as the input layout Force Model ODNLS is based on DNLS, but an extra force f e is added in order to keep the orthogonal ordering. The extra force f e has both a repulsive effect and an attractive effect in a spring system.

56 40 DN LS and ODN LS: Adaptive Spring Algorithms (a) (b) Figure 4.3: Samples of DNLS, with scale=0.5 of the original images

57 4.5 ODNLS 41 Repulsive Effect Suppose v 1 (x 1, y 1, w 1, h 1 ), v 2 (x 2, y 2, w 2, h 2 ) are drawings of a pair of nodes in Γ, x 1 < x 2, y 1 < y 2, k d is the dynamic natural length, and m the desired margin between the nodes in Γ. Let p.left = min(x 1, x 2 ) p.right = max(x 1, x 2 ) p.top = min(y 1, y 2 ) p.bottom = max(y 1, y 2 ) If d v1,v2 < k d, then the repulsive force f r of the spring system repels v 1 and v 2, and the new drawings of v 1 and v 2 are v 1 (x 1, y 1, w 1, h 1 ) and v 2 (x 2, y 2, w 2, h 2 ), respectively. For every node v(x, y, w, h) in Γ, the extra force f e sets x := x + e x, if x >= p.right x := x e x, if x <= p.left y := y + e y, if y >= p.bottom y := y e y, if y <= p.top where e x and e y refer to the repulsive distances in the x and y directions, and e x = (x 2 x 1 )/2 (x 2 x 1 )/2 e y = (y 2 y 1 )/2 (y 2 y 1 )/2 (a) (b) Figure 4.4: f e repulsive effect

58 42 DN LS and ODN LS: Adaptive Spring Algorithms In Figure 4.4(a), the nodes v 1 (x 1, y 1, w 1, h 1 ), v 2 (x 2, y 2, w 2, h 2 ) overlap each other, x 1 < x 2, y 1 < y 2, and d v1,v2 < k d. When the repulsive force f r of the spring system repels them, the nodes v left, v top, v right, and v bottom are pushed by f e left, up, right, and down, respectively. The new drawing is in Figure 4.4(b). Attractive Effect If d v1,v 2 > k d, then the attractive force f a of the spring system attracts v 1 and v 2. Suppose that V k is the set of nodes that are between v 1 and v 2 in the x direction, and v left is the leftmost node of V k, and v right the rightmost. Also suppose a set of nodes V j that are between v 1 and v 2 in the y direction, and v top is the uppermost node of V j, and v bottom the lowermost. Then the extra force moves v 1 to where d x v 1,v left =w 1 /2 + w left /2 + m, and d y v 1,v top =h 1 /2 + h top /2 + m v 2 to where d x v 2,v right =w 2 /2 + w right /2 + m, and d y v 2,v bottom =h 2 /2 + h bottom /2 + m Now, let e x1, e y1, e x2 and e y2 be the moved distances of v 1 and v 2 caused by the extra force f e in the x and y directions, respectively. Let a x1, a y1, a x2 and a y2 be the moved distances of v 1 and v 2 caused by the attractive force f a in the x and y directions, respectively. Then dx 1 = min{0, e x1, a x1 } dy 1 = min{0, e y1, a y1 } dx 2 = min{0, e x2, a x2 } dy 2 = min{0, e y2, a y2 } The spring system sets x 1 := x 1 + dx 1 x 2 := x 2 dx 2 y 1 := y + dy 1 y + 2 := y dy 2

59 4.6 Analysis 43 In Figure 4.5(a), the nodes v 1 and v 2 are attracted by the attractive force f a of the spring system, while f e keeps the two nodes outside the dashed rectangle. Note that the margins between the dashed rectangle and v left, v top, v right, and v bottom are the desired margins between nodes in the drawing. Figure 4.5(b) shows the new positions of v 1 and v 2 with the attractive effect of the extra force f e. (a) (b) Figure 4.5: f e attractive effect Samples Figure 4.6 shows a sample cluttered layouts and the corresponding outputs of ODNLS. 4.6 Analysis This section analyses DNLS and ODNLS from the views of the output and mathematical properties Properties of Output Both DNLS and ODNLS are variants of a classical spring algorithm. They have the properties of spring algorithms such as display of symmetry and uniform edges. It is well known that in general, a spring algorithm does not guarantee to find clean drawings for all graphs. In this case, DNLS does not guarantee to find clean drawings for all cluttered layouts, but DNLS can significantly reduce the number of overlaps. In addition, there are some pathological cases of DNLS and ODNLS. For example, there is a special case of the balance state, in which overlapping occurs in Figure 4.7. In this picture, there is a graph with four nodes, namely, v 1, v 2, v 3, and v 4. This graph has the edges v 1 v 2, v 2 v 3, v 3 v 4, and v 1 v 4. There are two forces exerted on the

60 44 DN LS and ODN LS: Adaptive Spring Algorithms (a) A Cluttered Initial layout(ini) (b) The Output of ODNLS Figure 4.6: A sample of ODNLS, with scale=0.5 of the original images

61 4.6 Analysis 45 node v 3 : one is from the edge v 2 v 3 ; the other is from the edge v 3 v 4. The two forces have different directions, and if the two forces have the same value, then node v 3 is in a balance state. If all the other nodes are in the same situation, then the spring system modelling the graph is in a balance state. However, the state presents node overlapping. Figure 4.7: A balance state in which node overlapping occurs This sample shows the balance state in which all forces are in one dimension. A similar situation may also occurs in a balance state in which forces are from two dimensions. However, in practical applications, the sizes of nodes usually vary and the forces exerted on nodes are very complicated. It is very rare to have such a special balance state in a spring system that models a practical application. Therefore, in most cases, DNLS avoids overlapping Mathematics Property of ODNLS Theorem ODNLS preserves orthogonal order. Proof ODNLS is an adaptive spring algorithm that iterates k times to push and pull vertices to find a balance state. The output of ODNLS preserves the orthogonal order if the orthogonal order is preserved after each iteration. Suppose G = (V, E) is a graph with the node set V = {v i i = 1, 2,..., n}. Let Γ p and Γ p+1 be the layouts generated by ODNLS at p and p + 1 times iteration respectively, v p,x i coordinates of node v i in Γ p, and v p+1,x i and v p+1,y i are those in Γ p+1. and v p,y i We first prove that Γ p+1 preserve orthogonal order of Γ p in the x direction after once iteration. Suppose v p,x 1 < v p,x 2 <... < vn p,x in Γ p. We need proof that v p+1,x 1 < v p+1,x 2 <... < vn p+1,x in Γ p+1. are Repulsive effect of ODNLS Suppose there is a repulsive force f r between the nodes v j and v k, where 1 <= j < k <= n (See Figure 4.8(a)). The force f r moves v j by a distance δ and v k by δ, where δ > 0. The extra force of ODNLS moves nodes v 1...v j 1 by the distance δ and nodes v k+1...v n by the distance δ. Now the x coordinate v p,x i rep of a node v i is

62 46 DN LS and ODN LS: Adaptive Spring Algorithms (a) The drawing before repulsion (b) The drawing after repulsion Figure 4.8: ODNLS repels nodes v p,x i rep := v p,x i δ, if 1 <= i <= j v p,x i rep := v p,x i, if j < i < k v p,x i rep := v p,x i + δ, if k + 1 <= i <= n Figure 4.8(b) shows the drawing after repulsion of nodes. Now, we have v p,x 1 < v p,x 2 <... < v p,x j and δ > 0, thus v p,x 1 rep < v p,x 2 rep <... < v p,x j rep. We also have v p,x k < v p,x k+1 <... < vp,x n and δ > 0, thus v p,x k rep < v p,x k+1 rep <... < vn p,x rep. The nodes v j+1,..., v k 1 have not been moved, thus v p,x j rep < v p,x j+1 rep <... < v p,x k 1 rep < v p,x k rep. Therefore, ODNLS preserves the x direction orthogonal order after repulsion of nodes v j and v k. Attractive effect of ODNLS Suppose there is an attractive force f a between nodes the nodes v j and v k, where 1 <= j < k <= n. Let d j 1,j be the distance between the right boundary of v j 1 and the left boundary of v j, and d k 1,k be the distance between the right boundary of v k 1 and the left boundary of v k (See Figure 4.9(a)). The force f a attracts the node v j by the distance γ and the node v k by the distance -γ. Under the attractive effect of ODNLS, v j is moved by min{γ, d j 1,j }, and v k is moved by -min{γ, d k 1,k }. Figure 4.9(b) shows the drawing after attraction of nodes v j and v k, in which γ < d j 1,j and γ > d k 1,k. Now, nodes v j and v k are the only nodes moved.

63 4.6 Analysis 47 (a) The drawing before attraction (b) The drawing after attraction Figure 4.9: ODNLS attracts nodes The new position of v j is v p,x j att = v p,x j + min{γ, d j 1,j }, and v p,x j att < v p,x j+1 ; the new position of v k is v p,x j att = v p,x k min{γ, d j 1,j }, and v p,x j att direction orthogonal order after attraction of v j and v k. > v k 1. Thus, ODNLS preserves the x It is the same to prove ODNLS preserves the x direction orthogonal order if there are attractive or repulsive forces exerted on other pairs of nodes. Thus, it is proved that ODNLS preserves the x direction orthogonal order. It is the same to prove the ODNLS preserves the y direction orthogonal order Time Complexity Each iteration of DNLS runs in time O(n 2 ), where n is the number of nodes. Thus, its running time is O(in 2 ), where i is the number of iterations. The running time of ODNLS is O(in 3 ), where i is the number of iterations and n is the number of nodes. However, ODNLS is a post-processing adjustment algorithm. In general, the input of ODNLS is a layout generated by another spring algorithm S, whose running time is normally O(jn 2 ), where j is the iteration time of S. Therefore, it takes the time of O(in 3 + jn 2 ) to generate a clean layout using ODNLS as an adjustment algorithm in the worst case.

64 48 DN LS and ODN LS: Adaptive Spring Algorithms 4.7 Conclusion This chapter presents the algorithms DNLS and ODNLS, which are proposed to remove node overlapping in static environments and dynamic environments, respectively. The algorithms are adaptive spring algorithms that use a dynamic natural length in the force models. ODNLS also can preserve the orthogonal order in dynamic environments. Sample drawings of clustered graphs generated by ODNLS are presented in this chapter. More samples of DNLS and ODNLS can be found in the snapshots of experiments in Chapter 5.

65 C H A P T E R 5 Experiments with DNLS and ODNLS in Static Environments This chapter presents a set of experiments that compare the performance of ODNLS and DNLS to that of the force scan family (see Chapter 4 for details of the algorithms). This chapter is organized as follows. Section 5.1 describes the experiments. Section 5.2 analyses the experiment results. Section 5.3 summarizes the experiments. At the end of this chapter, Section 5.4 presents screenshots of the experiment. 5.1 Overview DNLS and ODNLS are variants of classical spring models. Force scan and its variants, improved force scan and force transfer, can be viewed as simplified spring models, which have only repulsive forces but no attractive forces. The experiments evaluate the outputs of the two types of algorithms. The experiment first generates a layout for a given data set by a spring algorithm. This layout is called the abstract layout. The layout becomes cluttered after labels are added. The cluttered layout is called the initial layout. ODNLS, force scan, improved force scan and force transfer produce clean layouts for the initial layout. DNLS generates another layout for the data set. The experiments evaluate these layouts Measurements The measurements for evaluation are aesthetic criteria, effectiveness of removing overlaps, and running time. The aesthetic criteria are area, L1 metric length, aspect ratio, edge ratio, symmetry, and orthogonal order. Edge ratio refers to the ratio of the longest and the shortest edge length, which is used here to evaluate how even the edges are. (see Section for the details of other

66 50 Experiments with DNLS and ODNLS in Static Environments aesthetic criteria.) The results of area and L1 metric length are normalised using the results of the initial layout as the base. Symmetry presented in the layouts is tested by visual observation. Preserving the orthogonal order is tested for ODNLS and the force scan family. Note that the edge crossing is not considered in the experiments. The reasons are: 1. the spring algorithms have no mechanism to reduce the edge crossing, 2. This thesis only studies the node overlapping and does not take into account the edges Assumptions The images of nodes are rectangular shapes, the sides of which are parallel to the coordinate system axes. In general, nodes have a larger width than height. This is the common shape in most practical applications. All nodes are assigned the same size. There are two reasons for this. First, uniform node size is adequate for many practice applications. The second, and more important reason, is that if nodes of different sizes are used for experiments it might be difficult to analyse the results. For example, if the sizes are randomly generated, it is hard to determine whether the difference of area of different drawings is caused by the layout algorithms or by the size of nodes. Therefore, the experiment simply assumes that all nodes have the same size. Note that the results are also applicable for nonrectangular node shapes if the algorithms consider the corresponding rectangles that enclose the node shapes Data Sets Six sets of data are tested in the experiment. Table 5.1 gives a description of the data sets. The first column of the table is the ID of the data set. The second column is the number of nodes of the data set. The third is the number of overlapping nodes in the initial layout. The last column is the drawing pattern presented in the initial layout. Table 5.2 shows the abstract layouts. Data Nodes Overlapping Pattern No closed star No tree No triangle No opened star No grid No tree Table 5.1: Experiment data sets

67 5.1 Overview 51 a) Data Set 1 b) Data Set 2 c) Data Set 3 d) Data Set 4 e) Data Set 5 f) Data Set 6 Table 5.2: Abstract layouts

68 52 Experiments with DNLS and ODNLS in Static Environments 5.2 Results Analysis This section analyses the experiment results. In the figures showing the experiment results, the abstract layout, the initial layout, and the outputs of force scan, improved force scan, and force transfer are denoted by ABS, INI, F S, F S, and F T, respectively. Appendix A shows the screen shots of the experiments Normalised Area Figure 5.1: Experiment results for normalised area The following points can be deduced from these experiment results for the normalised area: Force scan takes more space to draw a clean layout than the other algorithms. Improved force scan improves the performance of area force scan in all cases. This is because of its more efficient strategy for moving overlapped nodes. Force transfer has the best area in the force scan family. The reason is that it moves overlapped nodes in one dimension, but force scan and improved force scan do that in two dimensions. DNLS has the smallest area of data sets 4 and 6. In the other data sets, DNLS has similar area results to force transfer, which has the smallest area drawing in the force scan family. DNLS removes overlapping by both pushing and pulling the overlapped nodes, and it has the mechanism to evenly distribute the nodes. The force scan family only pushes nodes but does

69 5.2 Results Analysis 53 not pull them. So DNLS produces smaller areas of layouts than force scan and improved force scan. ODNLS needs more space to draw graphs than DNLS because it preserves the orthogonal order. Compared to the force scan family, the area performance of ODNLS in its good cases is similar to force transfer, but it is never worse than force scan in any case Normalised L1 Metric Length Figure 5.2: Experiment results for normalised L1 metric length The following points can be deduced from these experiment results for normalised L1 metric length: Force scan has a worse performance of L1 metric length than the other algorithms. Improved force scan improves L1 metric length of force scan because of its more efficient strategy for moving overlapped nodes. Force transfer has the best performance of L1 metric length in the force scan family because of moving overlapped nodes in one dimension instead of two dimensions. DNLS has the best performance in all the algorithms, in most cases because of the pushing and pulling mechanism of moving overlapped nodes. ODNLS has an unstable performance of L1 metric length. In the best cases, its performance is the best of the tested algorithms. In the worst cases, the performance is worse than the

70 54 Experiments with DNLS and ODNLS in Static Environments performance of all but force scan Aspect Ratio Figure 5.3: Experiment results for aspect ratio In most cases, all algorithms but force transfer produce layouts whose aspect ratios are close to 1. It can be seen from the snapshots (see Section 5.4) that the output of force transfer tends to increase more in the vertical direction than in the horizontal direction. The reason is that force transfer moves nodes in the direction whose desirable distance is smaller. Because all the nodes have the same size and the height of a node is smaller than the width, there is more possibility of moving nodes in the vertical direction than in horizontal direction Edge Ratio The following points can be deduced from these experiment results for edge ratio: The force scan family has much larger edge ratios than that of the initial layout in most cases. It indicates that the uniform edge ratio of the initial layout has been destroyed in these cases. The edge ratios of DNLS and ODNLS are very close to the edge ratio of the initial layout in most cases. It indicate that DNLS and ODNLS preserve the uniform edges displayed in the initial layouts in these cases. The results also indicate an interesting feature of DNLS. Because node size is constant in the experiments, the dynamic natural length k of all pairs of nodes of DNLS is the same. In such cases,

71 5.2 Results Analysis 55 Figure 5.4: Experiment results for edge ratio DNLS is actually a classical spring algorithm whose natural length k can prevent nodes overlapping. Thus, we can say that, in a static graph drawing system that employs a classical spring algorithm, it is a better solution in terms of aesthetic criteria to produce a clean layout by increasing the natural length than by adopting the force scan family as a post-processing adjustment Running Time Figure 5.5: Experiment results for running time The following points can be deduced from these experiment results for running time: Algorithms of the force scan family spend almost the same time to remove node overlapping

72 56 Experiments with DNLS and ODNLS in Static Environments in all cases. DNLS spends similar time to the force scan family to run. Algorithms of the force scan family are post-process approaches, but DNLS needs to calculates the dynamic length to find the forces of each pair of nodes in all the iterations. The trade-off of calculating dynamic length is the reason that DNLS is not faster than these post-process algorithms. ODNLS spends more time to run than any other algorithm,because it is a post-process algorithm and needs to calculate dynamic length Display Symmetry Symmetry displayed in a drawing of a graph can be measured by a continuous metric instead of a binary decision. A binary decision determines whether a drawing is strictly symmetric or not, while a continuous metric uses a number between 0 and 1 to indicate the extent to which a drawing is symmetric. A binary decision is an ideal geometric concept that is very limited in its use in graph drawings. Purchase discusses the issue of continuous metric of measuring aesthetic criteria of a drawing and proposes a metric formula for symmetry [46]. Table 5.3 shows the visual observation results for symmetry. The results are ranked as high, medium, and low, which are denoted by h, m, and l respectively, to indicate the extent to which symmetry is displayed in the layouts. DataSet No1 No2 No3 No4 No5 No6 ABS h h h h h h DNLS h h h h h m ODNLS h m m h h m FS m l l m m m FS m l l m m m FT h l l m l l Table 5.3: Visual observation results for symmetry Table 5.3 shows that the abstract layouts show high level symmetry because they are the outputs of a classical spring algorithm. DNLS and ODNLS show high level symmetry in most cases, and this indicates that they have the properties of display symmetry of a classical spring algorithm. Force scan and improved force scan show middle levels of symmetry in most cases. The reason is that they produce clean layouts, based on abstract layouts that have a high level of symmetry. They move nodes in two dimensions and preserve symmetry presented in a part of the abstract layouts.

73 5.3 Summary 57 Force transfer presents low level symmetry in most cases because it moves nodes in one dimension, which tends to destroy symmetry of the abstract layouts Effectiveness of Removing Overlaps ODNLS and the force scan family remove overlaps in all the cases. DNLS does not completely remove overlaps in some cases, but significantly reduces the number of the overlaps. Figure 5.4 shows the number of pairs of nodes that overlap, for the initial layout and for the output of DNLS. DataSet No1 No2 No3 No4 No5 No6 INI DNLS Table 5.4: Experiment results for removing overlapping by DNLS Preserving the Orthogonal Order Both ODNLS and the force scan family preserve the orthogonal orders in all the cases. 5.3 Summary The experiments show that the force scan family is guaranteed to remove overlapping, but they can destroy the aesthetic beauty of the initial layout. The results indicate that both DNLS and ODNLS present more uniform edge length than the force scan family. Experiments of symmetry were tested by the visual observation, and the results confirm that in most cases DNLS and ODNLS present symmetry. The experiments show that DNLS does not clean some of the cluttered layouts but significantly reduces the number of overlaps. In this experiment, a same force model is used to test all the datasets. It is possible to further reduce the number of overlaps by adapting different force models. ODNLS removes all node overlapping and preserves the orthogonal order. An interesting fact was found about the static drawing overlapping. It is better to adjust the natural length of a classical spring algorithm to avoid overlapping nodes than to clean the generated layout by the algorithms of the force scan family. 5.4 Snap Shots

74 58 Experiments with DNLS and ODNLS in Static Environments a) INI b) FS c) DNLS d) FS e) ODNLS f) FT Snapshots of data set 1

75 5.4 Snap Shots 59 a) INI b) FS c) DNLS d) FS e) ODNLS f) FT Snapshots of data set 2

76 60 Experiments with DNLS and ODNLS in Static Environments a) INI b) FS c) DNLS d) FS e) ODNLS f) FT Snapshots of data set 3

77 5.4 Snap Shots 61 a) INI b) FS c) DNLS d) FS e) ODNLS f) FT Snapshots of data set 4

78 62 Experiments with DNLS and ODNLS in Static Environments a) INI b) FS c) DNLS d) FS e) ODNLS f) FT Snapshots of data set 5

79 5.4 Snap Shots 63 a) INI b) FS c) DNLS d) FS e) ODNLS f) FT Snapshots of data set 6

80 C H A P T E R 6 Drawing Clustered Graphs Using DNLS and ODNLS This chapter presents approaches for drawing clustered graphs using DNLS and ODNLS in a divideand-conquer way. Section 6.1 introduces related work. Section 6.2 describes drawing clustered graphs using DNLS and ODNLS in static and dynamic environments, respectively. Section 6.3 concludes this chapter. 6.1 Background and Related Work Clustered Graphs are non-classical graphs. A layout algorithm for clustered graphs should satisfy as many aesthetic criteria (see 2.3.3) as possible. At the same time, it should present the clustering relations among clusters. Feng presents the clustered graph model [18]. Eades et al. present an algorithm for straight-line drawings of clustered graphs [15]. Eades and Feng propose an algorithm for orthogonal drawings of clustered graphs [14] and a 3D algorithm for drawing clustered graphs in multiple-levels [16]. Nagamochi and Kuroya investigate convex drawings for clustered graphs [42]. Spring algorithms for drawing clustered graphs have been investigated. Wang and Miyamoto propose a spring algorithm for removing node overlapping, and apply this algorithm to draw clustered structures by viewing a cluster as a big node [57]. Eades et al. [13] add virtual vertices connecting all child-clusters of a super-cluster, then model a clustered graph by a spring system that consists of three sub-spring systems, namely, the virtual spring system, the internal cluster spring system, and the external cluster spring system. The virtual spring system calculates the forces among virtual clusters and its neighbours; the internal spring system calculates the forces among the clusters that are under the same super-cluster; the external spring system calculates the forces among the clusters that are under different super-clusters. The three sub-systems use different force models in which clusters under a same super-cluster have stronger attractive forces than clusters

81 6.2 CG DNLS and CG ODNLS 65 under different clusters. In an output of this algorithm, clusters under same super-clusters are attracted closely by the internal springs and virtual springs, and the cluster relations are displayed more clearly than otherwise. Frishman and Tal propose a spring algorithm for drawing clustered graphs in dynamic environments [19]. This algorithm introduces spencers into a spring force model. The spencers are extra restrictions on the movements of clusters for the purpose of preserving the mental map. The algorithm of [57] is designed for drawing cluster structures in static environments. Both algorithms of [13] and [19] are proposed for drawing clustered graphs in dynamic environments. The algorithm of [13] uses animation to preserve the mental map, while the algorithm of [19] preserves the orthogonal order and animation is also used in the implementation. However, they do not consider the problem of node overlapping. This thesis proposes a couple of divide-and-conquer algorithms for drawing clustered graphs in static and dynamic environments, recursively using DNLS and ODNLS respectively. They are called CG DNLS and CG ODNLS respectively. Both algorithms aim to generate clean layouts for clustered graphs, and CG ODNLS preserves the orthogonal order in dynamic environments. 6.2 CG DNLS and CG ODNLS This thesis views drawing clustered graphs as a problem of recursively removing node overlapping, and applies DNLS and ODNLS to draw clustered graphs in static environments and dynamic environments, respectively. In drawings generated by CG DN LS or CG ODN LS, the clustering relations are represented by rectangles. Suppose C = (G, T ) is a clustered graph and Γ its drawing. Let cs be a super-cluster, and let c children be the set of child-clusters of cs. In Γ, cs is drawn as a rectangle R, and c children are drawn as rectangles that are completely inside the contour of R, and all the other clusters of C are completely outside the contour of R. The way that CG DNSL draws a clustered graph using DNLS is described as follows. CG ODNLS draws a clustered graph using ODNLS in the same way. CG DNLS first computes a layout of c children using DNLS. Let ch up, ch right, ch bottom, and ch left be the upmost, rightmost, lowest, and leftmost child-cluster in the clean layout of c children, respectively. Let y up be the y-axis coordinate of the upper edge of ch up, y bottom be the y-axis coordinate of the bottom edge of ch bottom, x right is the x-axis of the right edge of ch right, and x left

82 66 Drawing Clustered Graphs Using DNLS and ODNLS is the x-axis of the left edge of ch left. Let m x, m y be the expected margins between R and other drawings of clusters in x direction, and y direction respectively. The drawing of cs in Γ is the rectangle R(x, y, w, h), where x = x right + x left /2 is the x coordinate of the centre point of R, y = y up + y bottom /2 is the y coordinate of the centre point of R, w = x right x left + 2m x is the width of R, h = y up y bottom + 2m y is the height of R, Figure 6.1 is a sample that shows the drawing of a super-cluster cs. Figure 6.1: A drawing of a super-cluster CG DNLS iterates the procedure of drawing a super-cluster from the lowest level to the root of the cluster tree T, and the result is the drawing of the clustered graph C. Algorithm 1 describes CG DNLS. Algorithm 1 CG DNLS procedure CG DN LS(C) Require: C is a clustered graph 1: T C.clusterT ree() 2: h T.height() 3: for l from h-1 to 0 do 4: V cs C.clustersAt(l) {all super-clusters at level l} 5: for cs i V cs do 6: cs ichildren cs i.getchildren() {the child-clusters of cs i } 7: DNLS( cs ichildren ) {calculate a layout of child-clusters using DNLS} 8: setp osition(cs i, cs ichildren ) {set a super-cluster position by its children s position as in Figure 6.1} 9: end for{end the loop of cs i } 10: end for{end the loop of l}

83 6.3 Conclusion Time Complexity The running times of both CG DNLS and CG ODNLS are O(ilog 3 (n)) in the best case when the cluster tree is a balance tree, where i is the number of iterations and n is the number of clusters of a clustered graph. In the worst case, the running times are O(in 3 ) Sample Outputs of CG DNLS Figure 6.2, 6.3, 6.4, and 6.5 show sample drawings of clustered graphs generated by CG DNLS in static environments Sample Outputs of CG ODNLS Figure 6.6, 6.7, and 6.8 show sample drawings of clustered graphs generated by opening superclusters step by step in a dynamic environment. In these pictures, the clusters in green colour are super-clusters, the clusters in yellow are leaf-clusters, and the clusters in grey are the focus clusters that have been opened by the user. Note that the layout of the newly opened clusters is calculated by DNLS instead of ODNLS because there is no need to preserve the mental map for these clusters. 6.3 Conclusion This chapter presents CG DNLS and CG ODNLS for drawing clustered graphs in static environments and dynamic environments respectively. The two algorithms are divide-and-conquer approaches by recursively using DNLS and ODNLS. Sample drawings of the two algorithms are presented.

84 68 Drawing Clustered Graphs Using DNLS and ODNLS Figure 6.2: Sample 1 of static drawings generated by DNLS Figure 6.3: Sample 2 of static drawings generated by DNLS

85 6.3 Conclusion 69 Figure 6.4: Sample 3 of static drawings generated by DNLS

86 70 Drawing Clustered Graphs Using DNLS and ODNLS Figure 6.5: Sample 4 of static drawings generated by DNLS

87 6.3 Conclusion 71 (a) (b) (c) (d) (e) Figure 6.6: Sample 1 of dynamic drawings generated by ODNLS, with scale=0.2 of original images

88 72 Drawing Clustered Graphs Using DNLS and ODNLS (a) (b) (c) (d) (e) (f) Figure 6.7: Sample 2 of dynamic drawings generated by ODNLS, with scale=0.2 of original images

89 6.3 Conclusion 73 (a) (b) (c) (d) (e) (f) (g) (h) (i) Figure 6.8: Sample 3 of dynamic drawings generated by ODNLS, with scale=0.12 of original images

90 C H A P T E R 7 Case Study 1: Navigating Software Architectures This chapter investigates the use of the 1st-order fisheye view of clustered graphs and the ODNLS algorithm in navigating software architectures. Section 7.1 introduces this chapter. Section 7.2 presents an experiment investigating the visual content of the 1st-order fisheye views of a clustered graph. Section 7.3 presents a set of experiments investigating ODNLS. Section 7.4 concludes this chapter. 7.1 Introduction Software architecture refers to the structure of a program or a computer system, which comprises software elements, the properties of those elements, and the relationships among those elements [5]. It is the blue-print for building a successful software system. Visualising software architecture can help software architects design, analyse and evaluate architectures quickly and effectively. Software architectures can be modelled by clustered graphs, in which super-clusters represent the applications, components, and packages; leaf-clusters represent the classes; and edges represent the dependencies. A good architecture is composed of modules that have low coupling but high cohesion. In such a design, dependencies exist more among classes that are within the same module than among classes that belong to different modules, and architects can focus on one module at a time. This chapter investigates navigating the architecture of the C488 compiler. The C488 compiler is an example software package offered with Swagkit, which is a toolkit to extract, abstract and present software architectures [54]. The architecture is modelled by a clustered graph, in which super-clusters represent packages and subpackages; leaf-clusters represent single files; and edges represent the relationships of link or reference between files. This clustered graph has 234 clusters and 424 edges.

91 7.2 Experiment with Visual Content 75 Two types of experiments were carried out. One compares the visual content during navigation of the 1st-order fisheye views of the C488 compiler clustered graph to that of an incremental drawing without filtering clusters. The other compares the performances of ODNLS and force scan family in dynamic environments (see Section 4.2 for details of the force scan family). 7.2 Experiment with Visual Content This experiment compares the visual content of the 1st-order fisheye view of a clustered graph to that of an incremental drawing of a clustered graph. A view generated in an incremental drawing is called an incremental view. The visual content is calculated as the number of visualised clusters on a screen. In the experiment, successive focus clusters are a randomly chosen to be explored. The experiment results are collected from ten tests. In each test, the experiment first tests the visual content of incremental views. It begins with the initial view of the clustered graph and finishes when all super-clusters are opened (see Section 3.5 for details of initial abridgement). The experiment then interacts with the clustered graph the same number of times, but responding with a 1st-order fisheye view. Note that we cannot use the same foci to navigate the same clustered graph, because a fisheye view can close some clusters and create pseudo-clusters, and generate a different abridgement of the fisheye view from that of an incremental view. Table 7.1 shows the screenshots of incremental views taken while navigating the C488 compiler architecture. Table 7.2 shows the screenshots of fisheye views. In these screenshots, the clusters in green are super-clusters, the clusters in yellow are leaf-clusters, and the clusters in grey are focus clusters that have been opened by the user. Dark edges represent the relationship between two clusters that are under the same super-cluster. Semantically, these edges represent references or links under the same module. Light edges represent the relationship between two clusters that are under different super-clusters. Semantically, these edges represent references or links among different modules. In each screenshot in Table 7.1, a new focus cluster is opened and child-clusters of the focus are displayed on the screen. The number of clusters visualised continuously increases, and the drawings become larger. In fisheye view 1 of Table 7.2, a cluster is opened as the focus and its child-clusters are displayed on the screen. In fisheye view 2, another cluster is opened as a new focus. The child-clusters of the new focus appear on the screen and unrelated clusters are filtered.

92 76 Case Study 1: Navigating Software Architectures Pseudo-clusters are created to contain these filtered nodes that are under the same super-cluster if the super-cluster has some other child-clusters that belong to the fisheye view of the new focus. In the following fisheye views, the same operations are executed to form each view (see Section 3.5 for more details of how the operations work on the clusters ). Figure 7.1 shows results for visual content, where fisheye view and incremental view are denoted by F V and IV respectively. It shows that the number of visualised clusters in the fisheye views is in a range of about 10 to 50, and the number of visualized clusters in the incremental views sharply increases until all 234 clusters are opened. The experiment results indicate that the 1st-order fisheye view of a clustered graph conserves a constant level of visual content, thus avoiding an increased cognitive load. 7.3 Experiment with ODNLS This experiment compares ODNLS to the force family algorithm in a dynamic environment of navigating the C488 complier clustered graph Overview The scenario is the drawing of incremental views of the C488 clustered graph. A test begins with an initial abridgement (see Section 3.5), and finishes when all super-clusters have been opened. The experiment was carried out by the program that randomly opening a super-cluster, and there are 33 interactions. The experiment are carried out 4 times. Algorithm 1 in Section 1 is employed as a generic algorithm for drawing incremental views of the clustered graph. Different versions are implemented using ODNLS, force scan, improved force scan and force transfer to calculate the layouts of child-clusters of a super-cluster. The experiment aims to compare the layouts generated by the different versions of Algorithm 1. The measurements are the running time and aesthetic criteria such as area, aspect ratio, L1 length and edge ratio (see 5.1 for the details of aesthetic criteria) Results Analysis This section analyses the results of the experiment. In the figures illustrating these experiment results, the outputs of force scan, improved force scan and force transfer are denoted by F S, F S and F T respectively.

93 7.3 Experiment with ODNLS 77 a) Incremental view 1 b) Incremental view 2 c) Incremental view 3 d) Incremental view 4 e) Incremental view 5 f) Incremental view 6 Table 7.1: Screenshots of incremental views, with scale=0.2 of the original images

94 78 Case Study 1: Navigating Software Architectures a) Fisheye view 1 b) Fisheye view 2 c) Fisheye view 3 d) Fisheye view 4 e) Fisheye view 5 f) Fisheye view 6 Table 7.2: Screenshots of fisheye views, with scale=0.25 of the original images

95 7.3 Experiment with ODNLS 79 Figure 7.1: Visual content when exploring the architecture the C488 compiler Area Figure 7.2 shows the results of experiment for area. The following points can be deduced from these results force scan and improved force scan have very similar results for area most of the time; force transfer presents better results than force scan and improved force scan most of the time; ODNLS has better results than force scan and improved force scan most of the time, and in some case is better than force transfer. there is no significant difference between the area results for the four algorithms, particularly in the beginning stages when the number of opened clusters is small. Force transfer has the best performance for area because it moves overlapped nodes in one dimension instead of two dimensions. ODNLS has better performance than both force scan and improved force scan, because it has both pushing and pulling forces to remove node overlapping. In a drawing of a clustered graph, however, sizes of super-clusters are usually much larger than the sizes of leaf-clusters. Therefore, it is mainly the overlapping of super-clusters that contributes to the final size of a clustered graph. This is why different algorithms have similar results for area when the number of opened clusters is small. Furthermore, the force scan family removes a pair of overlapped nodes by moving one node to a new position where this node has a prescribed margin to the other node. ODNLS removes

96 80 Case Study 1: Navigating Software Architectures (a) (b) (c) (d) Figure 7.2: Results for area

97 7.3 Experiment with ODNLS 81 overlapping by moving a pair of overlapped nodes to new positions, the distance between the two nodes being the dynamical natural length, (d 1 + d 2 )/2, where d 1 are d 2 are the dialogue lengths of each of the pair of overlapped nodes. In most cases, the margin between the two nodes produced by ODNLS is much larger than the prescribed value. This is why ODNLS does not, in some cases, show a significantly better result for area than force scan and improved force scan. Figure 7.3 shows the the margins of the two opened super-clusters after removing node overlapping by force scan, force transfer, and ODNLS. We can see in the images that the margin in the output for ODNLS is the largest. The margin in the output for force scan is the same as that for force transfer, but nodes are moved in two dimensions in the force scan output. (a) Output of ODNLS (b) Output of force scan (c) Output of force transfer Figure 7.3: Outputs of ODNLS, force scan and force transfer Aspect Ratio Figure 7.4 shows the results for aspect ratio. In these figure, we see that ODNLS and the force scan family show similar results for aspect ratio. In some cases, however, force transfer has worse results than the others. This is because it moves an overlapped node in only one dimension. The outputs of force transfer then tend to increase in one dimension, resulting in a higher aspect ratio. Figure 7.5 shows samples of force transfer and ODNLS. It is apparent from the figure that the aspect ratio of ODNLS output is close to 1, whereas the aspect ratio of the force transfer output is much higher

98 82 Case Study 1: Navigating Software Architectures (a) (b) (c) (d) Figure 7.4: Results for aspect ratio

99 7.3 Experiment with ODNLS 83 than 1, its height being much greater than its width. (a) Output of ODNLS (b) Output of force transfer Figure 7.5: Aspect Ratios of ODNLS and force transfer L1 Metric Length Figure 7.6 presents the results of experiment for L1 metric length, which show that the L1 metric length of ODNLS is close to that of the force scan family. However, in most cases, ODNLS has the smallest L1 metric lengths. Edge Ratio Figure 7.7 shows the experiment results for edge ratio. The results for edge ratio of ODNLS is much better than that of the force scan family. This indicates that ODNLS has more even edge lengths of edges than the force scan family in dynamic environments.

100 84 Case Study 1: Navigating Software Architectures Running Time Figure 7.8 shows the experiment results for running time. The algorithms of the force scan family run in almost the same time, and their results are better than those of ODNLS. Summary The experiments demonstrate that the outputs of ODNLS are of similar qualities to those of the algorithms of the force scan family in terms of aesthetic criteria such as area, aspect ratio and L1 length. However, the layouts generated by ODNLS have more uniform edges than the layouts generated by the force scan family. The trade-off for these even-length edges is the increased running time. 7.4 Conclusion This chapter presents two experiments, the first investigating the 1st-order fisheye view of a clustered graph, the second investigating ODNLS. The undertaken task was the navigation of the C488 compiler architecture. The first experiment demonstrates that the 1st-order fisheye view presents information by conserving constant visual content, which helps avoid overloading a user s cognitive processing. The second experiment demonstrates that in dynamic environments, ODNLS has an advantage over the force scan family algorithms in terms of aesthetic criteria.

101 7.4 Conclusion 85 (a) (b) (c) (d) Figure 7.6: Results for L1 metric length

102 86 Case Study 1: Navigating Software Architectures (a) (b) (c) (d) Figure 7.7: Results for edge ratio

103 7.4 Conclusion 87 (a) (b) (c) (d) Figure 7.8: Results for running time

104 C H A P T E R 8 Case Study 2: Navigating Citation Graphs This chapter investigates the use of the 1st-order fisheye views and ODNLS to navigate citation graphs. Section 8.1 introduces this chapter. Section 8.2 presents an experiment with the 1st-order fisheye views. Section 8.3 presents a set of experiments with ODNLS. Section 8.4 concludes this chapter. 8.1 Introduction Citations are the formal, explicit links between articles with ideas in common [24]. The linkages between citations usually can show the similarity of the articles. By analysing citations, one can find the historical traces of scientific thoughts, the boundaries of related research fields, and the interaction between different research fields [31]. Citations can be modelled using citation graphs. A citation graph is often a large graph with hundreds of nodes and thousands of edges. The chapter investigates an approach for visualising a citation graph using the navigation model proposed in Section 3.3. A citation graph is partitioned into a clustered graph, and the 1st-order fisheye view of clustered graphs is employed as the abstraction strategy to navigate the clustered graph. The dataset consists of the papers from eight years ( ) of the IEEE InfoVis Conference and the citations within these papers. This citation graph is first clustered by the paper s topics. There are ten topics in total: Focus+Context Graph Visualisation Hierarchy Visualisation

105 8.2 Experiment with Visual Content 89 Interaction Information Retrieval Multidimensional Visualisation Software Visualisation System Visual Data Mining Visualising WWW In each of these topics, the papers are further partitioned by their year of publication. Thus, the cluster tree of the InfoVis citation clustered graph has three levels, super-clusters representing topics and year of publication, and leaf-clusters representing the papers. The edges of this clustered graph represent the citations within the papers. The InfoVis citation clustered graph has 227 clusters and 132 edges. As in Chapter 7, two types of experiments were carried out. One compares the visual content during navigation of the 1st-order fisheye view of this clustered graph to that of an incremental drawing of the graph. The other compares the performance in dynamic environments of ODNLS to that of the force scan family in drawing this clustered graph. 8.2 Experiment with Visual Content This experiment compares the visual content of the 1st-order fisheye views to the visual content of an incremental drawing, using the InfoVis citation clustered graph. Data from ten tests is collected. Table 8.1 shows screenshots taken of incremental views while navigating the citations. Table 8.2 shows screenshots of fisheye views. In these images, the colours key is the same as those in Table 7.1 and Table 7.2. The dark edges here represent the citation links, in which the citation and/or the citer are under the focus cluster. The light edges represent links, in which neither the citation nor the citer is under the focus cluster. In Table 8.1, focus clusters are successively opened. In these incremental view screenshots, the number of visualised clusters increases continuously, and the drawing becomes larger. In the 1st-order fisheye views in Table 8.2, when a new cluster is opened as a focus, some clusters are

106 90 Case Study 2: Navigating Citation Graphs a) Incremental view 1 b) Incremental view 2 c) Incremental view 3 d) Incremental view 4 e) Incremental view 5 f) Incremental view 6 Table 8.1: Screenshots of incremental views, with the scale=0.2 of the original images

107 8.2 Experiment with Visual Content 91 a) Fisheye view 1 b) Fisheye view 2 c) Fisheye view 3 d) Fisheye view 4 e) Fisheye view 5 f) Fisheye view 6 Table 8.2: Screenshots of fisheye views, with scale=0.25 of original images

108 92 Case Study 2: Navigating Citation Graphs closed, and new pseudo-clusters are created. However, the number of visualised clusters remains smaller than a specific value. Figure 8.2 presents results for visual content. In this images, the fisheye view and the incremental view are denoted by F V and IV respectively. It shows that the number of visualized clusters in the fisheye views remains in a range of about 20 to 30, and in that of the incremental views keeps increasing until all clusters are opened. Figure 8.1: Results for visual content 8.3 Experiment with Drawing Clustered Graphs This experiment compares the performance of ODNLS to that of the force scan family in drawing the InfoVis citation clustered graph in a dynamic environment of navigation. Four tests were conducted with 69 interactions in each test. Figure 8.2, 8.3, 8.4, 8.5 and 8.6 show the results for area, aspect ratio, L1 metric length, edge ratio and running time respectively. In these figures, we see that ODNLS performs better in most of the time in terms of area, L1 metric length and edge ratio, while the force scan family runs in a shorter time than ODNLS does. 8.4 Conclusion This chapter proposes a method of visualising a citation graph using the navigation model in Chapter 3, and describes two experiments with the 1st-order fisheye view of the Infovis citation clustered graph and ODNLS in the dynamic environment of navigating this clustered graph. The results

109 8.4 Conclusion 93 (a) (b) (c) (d) Figure 8.2: Results for area

110 94 Case Study 2: Navigating Citation Graphs (a) (b) (c) (d) Figure 8.3: Results for aspect ratio

111 8.4 Conclusion 95 (a) (b) (c) (d) Figure 8.4: Results for L1 metric length

112 96 Case Study 2: Navigating Citation Graphs (a) (b) (c) (d) Figure 8.5: Results for edge ratio

113 8.4 Conclusion 97 (a) (b) (c) (d) Figure 8.6: Results for running time

Using Spring Algorithms to Remove Node Overlapping

Using Spring Algorithms to Remove Node Overlapping Using Spring Algorithms to Remove Node Overlapping Wanchun Li, Peter Eades and Nikola Nikolov National ICT Australia Ltd, University of Sydney NSW, 2006, Australia Email: lpaul@it.usyd.edu.au, {peter.eades,nikola.nikolov}@nicta.com.au

More information

A Fully Animated Interactive System for Clustering and Navigating Huge Graphs

A Fully Animated Interactive System for Clustering and Navigating Huge Graphs A Fully Animated Interactive System for Clustering and Navigating Huge Graphs Mao Lin Huang and Peter Eades Department of Computer Science and Software Engineering The University of Newcastle, NSW 2308,

More information

Interactive, Tree-Based Graph Visualization

Interactive, Tree-Based Graph Visualization Interactive, Tree-Based Graph Visualization Andy Pavlo March 17, 2006 Abstract We introduce an interactive graph visualization scheme that allows users to explore graphs by viewing them as a sequence of

More information

Graph/Network Visualization

Graph/Network Visualization Graph/Network Visualization Data model: graph structures (relations, knowledge) and networks. Applications: Telecommunication systems, Internet and WWW, Retailers distribution networks knowledge representation

More information

Adding Filtering to Geometric Distortion to Visualize a Clustered Graph on Small Screens

Adding Filtering to Geometric Distortion to Visualize a Clustered Graph on Small Screens Adding Filtering to Geometric Distortion to Visualize a Clustered Graph on Small Screens Wanchun Li and Masahiro Takatsuka ViSLAB, School of Information Technologies The University of Sydney, NSW, 2006,

More information

Higres Visualization System for Clustered Graphs and Graph Algorithms

Higres Visualization System for Clustered Graphs and Graph Algorithms Higres Visualization System for Clustered Graphs and Graph Algorithms Ivan A. Lisitsyn and Victor N. Kasyanov A. P. Ershov s Institute of Informatics Systems, Lavrentiev av. 6, 630090, Novosibirsk, Russia

More information

6. Graphs and Networks visualizing relations

6. Graphs and Networks visualizing relations 6. Graphs and Networks visualizing relations Vorlesung Informationsvisualisierung Prof. Dr. Andreas Butz, WS 2011/12 Konzept und Basis für n: Thorsten Büring 1 Outline Graph overview Terminology Networks

More information

Glyphs. Presentation Overview. What is a Glyph!? Cont. What is a Glyph!? Glyph Fundamentals. Goal of Paper. Presented by Bertrand Low

Glyphs. Presentation Overview. What is a Glyph!? Cont. What is a Glyph!? Glyph Fundamentals. Goal of Paper. Presented by Bertrand Low Presentation Overview Glyphs Presented by Bertrand Low A Taxonomy of Glyph Placement Strategies for Multidimensional Data Visualization Matthew O. Ward, Information Visualization Journal, Palmgrave,, Volume

More information

Hierarchies and Trees 1 (Node-link) CS 4460/ Information Visualization March 10, 2009 John Stasko

Hierarchies and Trees 1 (Node-link) CS 4460/ Information Visualization March 10, 2009 John Stasko Hierarchies and Trees 1 (Node-link) CS 4460/7450 - Information Visualization March 10, 2009 John Stasko Hierarchies Definition Data repository in which cases are related to subcases Can be thought of as

More information

1.2 Graph Drawing Techniques

1.2 Graph Drawing Techniques 1.2 Graph Drawing Techniques Graph drawing is the automated layout of graphs We shall overview a number of graph drawing techniques For general graphs: Force Directed Spring Embedder Barycentre based Multicriteria

More information

Hierarchies and Trees 1 (Node-link) CS Information Visualization November 12, 2012 John Stasko

Hierarchies and Trees 1 (Node-link) CS Information Visualization November 12, 2012 John Stasko Topic Notes Hierarchies and Trees 1 (Node-link) CS 7450 - Information Visualization November 12, 2012 John Stasko Hierarchies Definition Data repository in which cases are related to subcases Can be thought

More information

6. Graphs & Networks. Visualizing relations. Dr. Thorsten Büring, 29. November 2007, Vorlesung Wintersemester 2007/08

6. Graphs & Networks. Visualizing relations. Dr. Thorsten Büring, 29. November 2007, Vorlesung Wintersemester 2007/08 6. Graphs & Networks Visualizing relations Dr. Thorsten Büring, 29. November 2007, Vorlesung Wintersemester 2007/08 Slide 1 / 46 Outline Graph overview Terminology Networks and trees Data structures Graph

More information

Drawing Problem. Possible properties Minimum number of edge crossings Small area Straight or short edges Good representation of graph structure...

Drawing Problem. Possible properties Minimum number of edge crossings Small area Straight or short edges Good representation of graph structure... Graph Drawing Embedding Embedding For a given graph G = (V, E), an embedding (into R 2 ) assigns each vertex a coordinate and each edge a (not necessarily straight) line connecting the corresponding coordinates.

More information

8. Visual Analytics. Prof. Tulasi Prasad Sariki SCSE, VIT, Chennai

8. Visual Analytics. Prof. Tulasi Prasad Sariki SCSE, VIT, Chennai 8. Visual Analytics Prof. Tulasi Prasad Sariki SCSE, VIT, Chennai www.learnersdesk.weebly.com Graphs & Trees Graph Vertex/node with one or more edges connecting it to another node. Cyclic or acyclic Edge

More information

Starting guide for using graph layout with JViews Diagrammer

Starting guide for using graph layout with JViews Diagrammer Starting guide for using graph layout with JViews Diagrammer Question Do you have a starting guide that list those layouts, and describe the main parameters to use them? Answer IBM ILOG JViews Diagrammer

More information

Visual Layout of Graph-Like Models

Visual Layout of Graph-Like Models Visual Layout of Graph-Like Models Tarek Sharbak MhdTarek.Sharbak@uantwerpen.be Abstract The modeling of complex software systems has been growing significantly in the last years, and it is proving to

More information

Data Structure. IBPS SO (IT- Officer) Exam 2017

Data Structure. IBPS SO (IT- Officer) Exam 2017 Data Structure IBPS SO (IT- Officer) Exam 2017 Data Structure: In computer science, a data structure is a way of storing and organizing data in a computer s memory so that it can be used efficiently. Data

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

STUDY AND IMPLEMENTATION OF SOME TREE DRAWING ALGORITHMS A THESIS SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

STUDY AND IMPLEMENTATION OF SOME TREE DRAWING ALGORITHMS A THESIS SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS STUDY AND IMPLEMENTATION OF SOME TREE DRAWING ALGORITHMS A THESIS SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE MASTERS OF SCIENCE BY IMAN HUSSEIN DR. JAY BAGGA-

More information

An Improved Fisheye Zoom Algorithm for Visualizing and Editing Hierarchical Models

An Improved Fisheye Zoom Algorithm for Visualizing and Editing Hierarchical Models An Improved Fisheye Zoom Algorithm for Visualizing and Editing Hierarchical Models Tobias Reinhard, Silvio Meier, Martin Glinz Department of Informatics, University of Zurich, Switzerland reinhard, smeier,

More information

Seeing Around Corners: Fast Orthogonal Connector Routing

Seeing Around Corners: Fast Orthogonal Connector Routing Seeing round Corners: Fast Orthogonal Connector Routing Kim Marriott 1, Peter J. Stuckey 2, and Michael Wybrow 1 1 Caulfield School of Information Technology, Monash University, Caulfield, Victoria 3145,

More information

Mathematics Curriculum

Mathematics Curriculum 6 G R A D E Mathematics Curriculum GRADE 6 5 Table of Contents 1... 1 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)... 11 Lesson 1: The Area of Parallelograms Through Rectangle Facts...

More information

Smart Graphics: Methoden 4 point feature labeling, graph drawing. Vorlesung Smart Graphics Andreas Butz, Otmar Hilliges Dienstag, 6.

Smart Graphics: Methoden 4 point feature labeling, graph drawing. Vorlesung Smart Graphics Andreas Butz, Otmar Hilliges Dienstag, 6. LMU München Medieninformatik Butz/Hilliges Smart Graphics WS2005 06.12.2005 Folie 1 Smart Graphics: Methoden 4 point feature labeling, graph drawing Vorlesung Smart Graphics Andreas Butz, Otmar Hilliges

More information

6. Graphs and Networks visualizing relations

6. Graphs and Networks visualizing relations 6. Graphs and Networks visualizing relations Vorlesung Informationsvisualisierung Prof. Dr. Andreas Butz, WS 2009/10 Konzept und Basis für n: Thorsten Büring 1 Outline Graph overview Terminology Networks

More information

Automatic Drawing for Tokyo Metro Map

Automatic Drawing for Tokyo Metro Map Automatic Drawing for Tokyo Metro Map Masahiro Onda 1, Masaki Moriguchi 2, and Keiko Imai 3 1 Graduate School of Science and Engineering, Chuo University monda@imai-lab.ise.chuo-u.ac.jp 2 Meiji Institute

More information

Applying the weighted barycentre method to interactive graph visualization

Applying the weighted barycentre method to interactive graph visualization Applying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for some software: Hooman Reisi Dekhordi Patrick Eades Graphs and Graph Drawings What

More information

Glossary of dictionary terms in the AP geometry units

Glossary of dictionary terms in the AP geometry units Glossary of dictionary terms in the AP geometry units affine linear equation: an equation in which both sides are sums of terms that are either a number times y or a number times x or just a number [SlL2-D5]

More information

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen Dissertation Title Dissertation Subtitle Stephen D. Wolthusen Thesis submitted to the University of London for the degree of Doctor of Philosophy Royal Holloway logo guidelines 2012 Standard logo The logo

More information

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

Dynamic Parameter Spring Model for Automatic Graph Layout. Xuejun Liu. (Doctoral Program in Computer Science) Advised by Jiro Tanaka

Dynamic Parameter Spring Model for Automatic Graph Layout. Xuejun Liu. (Doctoral Program in Computer Science) Advised by Jiro Tanaka Dynamic Parameter Spring Model for Automatic Graph Layout Xuejun Liu (Doctoral Program in Computer Science) Advised by Jiro Tanaka Submitted to the Graduate School of Systems and Information Engineering

More information

Doyle Spiral Circle Packings Animated

Doyle Spiral Circle Packings Animated Doyle Spiral Circle Packings Animated Alan Sutcliffe 4 Binfield Road Wokingham RG40 1SL, UK E-mail: nsutcliffe@ntlworld.com Abstract Doyle spiral circle packings are described. Two such packings illustrate

More information

Edge Equalized Treemaps

Edge Equalized Treemaps Edge Equalized Treemaps Aimi Kobayashi Department of Computer Science University of Tsukuba Ibaraki, Japan kobayashi@iplab.cs.tsukuba.ac.jp Kazuo Misue Faculty of Engineering, Information and Systems University

More information

Large Scale Information Visualization. Jing Yang Fall Graph Visualization

Large Scale Information Visualization. Jing Yang Fall Graph Visualization Large Scale Information Visualization Jing Yang Fall 2007 1 Graph Visualization 2 1 When? Ask the question: Is there an inherent relation among the data elements to be visualized? If yes -> data: nodes

More information

i-vis Information Visualization Research Group

i-vis Information Visualization Research Group version 1.0 BILKENT UNIVERSITY i-vis Information Visualization Research Group Chisio User s Guide B I L K E N T I - V I S R E S E A R C H G R O U P Chisio User s Guide i-vis Research Group Computer Engineering

More information

4.5 VISIBLE SURFACE DETECTION METHODES

4.5 VISIBLE SURFACE DETECTION METHODES 4.5 VISIBLE SURFACE DETECTION METHODES A major consideration in the generation of realistic graphics displays is identifying those parts of a scene that are visible from a chosen viewing position. There

More information

Reducing Points In a Handwritten Curve (Improvement in a Note-taking Tool)

Reducing Points In a Handwritten Curve (Improvement in a Note-taking Tool) Reducing Points In a Handwritten Curve (Improvement in a Note-taking Tool) Kaoru Oka oka@oz.ces.kyutech.ac.jp Faculty of Computer Science and Systems Engineering Kyushu Institute of Technology Japan Ryoji

More information

Visualizing Weighted Edges in Graphs

Visualizing Weighted Edges in Graphs Visualizing Weighted Edges in Graphs Peter Rodgers and Paul Mutton University of Kent, UK P.J.Rodgers@kent.ac.uk, pjm2@kent.ac.uk Abstract This paper introduces a new edge length heuristic that finds a

More information

1. Introduction to Constructive Solid Geometry (CSG)

1. Introduction to Constructive Solid Geometry (CSG) opyright@010, YZU Optimal Design Laboratory. All rights reserved. Last updated: Yeh-Liang Hsu (010-1-10). Note: This is the course material for ME550 Geometric modeling and computer graphics, Yuan Ze University.

More information

Topology and Boundary Representation. The ACIS boundary representation (B-rep) of a model is a hierarchical decomposition of the model s topology:

Topology and Boundary Representation. The ACIS boundary representation (B-rep) of a model is a hierarchical decomposition of the model s topology: Chapter 6. Model Topology Topology refers to the spatial relationships between the various entities in a model. Topology describes how geometric entities are connected (connectivity). On its own, topology

More information

RINGS : A Technique for Visualizing Large Hierarchies

RINGS : A Technique for Visualizing Large Hierarchies RINGS : A Technique for Visualizing Large Hierarchies Soon Tee Teoh and Kwan-Liu Ma Computer Science Department, University of California, Davis {teoh, ma}@cs.ucdavis.edu Abstract. We present RINGS, a

More information

Information Visualization. Jing Yang Spring Graph Visualization

Information Visualization. Jing Yang Spring Graph Visualization Information Visualization Jing Yang Spring 2007 1 Graph Visualization 2 1 When? Ask the question: Is there an inherent relation among the data elements to be visualized? If yes -> data: nodes relations:

More information

Product constructions for transitive decompositions of graphs

Product constructions for transitive decompositions of graphs 116 Product constructions for transitive decompositions of graphs Geoffrey Pearce Abstract A decomposition of a graph is a partition of the edge set, giving a set of subgraphs. A transitive decomposition

More information

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia)

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia) 15-251 Great Ideas in Theoretical Computer Science Lecture 12: Graphs I: The Basics February 22nd, 2018 Crossing bridges Königsberg (Prussia) Now Kaliningrad (Russia) Is there a way to walk through the

More information

Big Mathematical Ideas and Understandings

Big Mathematical Ideas and Understandings Big Mathematical Ideas and Understandings A Big Idea is a statement of an idea that is central to the learning of mathematics, one that links numerous mathematical understandings into a coherent whole.

More information

Overlapping Cluster Planarity.

Overlapping Cluster Planarity. Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 12, no. 3, pp. 267 291 (2008) Overlapping Cluster Planarity. Walter Didimo 1 Francesco Giordano 1 Giuseppe Liotta 1 1 Dipartimento di

More information

Hamilton paths & circuits. Gray codes. Hamilton Circuits. Planar Graphs. Hamilton circuits. 10 Nov 2015

Hamilton paths & circuits. Gray codes. Hamilton Circuits. Planar Graphs. Hamilton circuits. 10 Nov 2015 Hamilton paths & circuits Def. A path in a multigraph is a Hamilton path if it visits each vertex exactly once. Def. A circuit that is a Hamilton path is called a Hamilton circuit. Hamilton circuits Constructing

More information

Providing Interactive Site Ma ps for Web Navigation

Providing Interactive Site Ma ps for Web Navigation Providing Interactive Site Ma ps for Web Navigation Wei Lai Department of Mathematics and Computing University of Southern Queensland Toowoomba, QLD 4350, Australia Jiro Tanaka Institute of Information

More information

Enhancing Clustering Results In Hierarchical Approach By Mvs Measures

Enhancing Clustering Results In Hierarchical Approach By Mvs Measures International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 10, Issue 6 (June 2014), PP.25-30 Enhancing Clustering Results In Hierarchical Approach

More information

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term:

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term: Chapter 3 Series Parallel Digraphs Introduction In this chapter we examine series-parallel digraphs which are a common type of graph. They have a significant use in several applications that make them

More information

6 Mathematics Curriculum

6 Mathematics Curriculum New York State Common Core 6 Mathematics Curriculum GRADE GRADE 6 MODULE 5 Table of Contents 1 Area, Surface Area, and Volume Problems... 3 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)...

More information

Visualising File-Systems Using ENCCON Model

Visualising File-Systems Using ENCCON Model Visualising File-Systems Using ENCCON Model Quang V. Nguyen and Mao L. Huang Faculty of Information Technology University of Technology, Sydney, Australia quvnguye@it.uts.edu.au, maolin@it.uts.edu.au Abstract

More information

Houghton Mifflin MATHEMATICS Level 5 correlated to NCTM Standard

Houghton Mifflin MATHEMATICS Level 5 correlated to NCTM Standard s 2000 Number and Operations Standard Understand numbers, ways of representing numbers, relationships among numbers, and number systems understand the place-value structure of the TE: 4 5, 8 11, 14 17,

More information

Graph Theory CS/Math231 Discrete Mathematics Spring2015

Graph Theory CS/Math231 Discrete Mathematics Spring2015 1 Graphs Definition 1 A directed graph (or digraph) G is a pair (V, E), where V is a finite set and E is a binary relation on V. The set V is called the vertex set of G, and its elements are called vertices

More information

A Real Time GIS Approximation Approach for Multiphase Spatial Query Processing Using Hierarchical-Partitioned-Indexing Technique

A Real Time GIS Approximation Approach for Multiphase Spatial Query Processing Using Hierarchical-Partitioned-Indexing Technique International Journal of Scientific Research in Computer Science, Engineering and Information Technology 2017 IJSRCSEIT Volume 2 Issue 6 ISSN : 2456-3307 A Real Time GIS Approximation Approach for Multiphase

More information

Content-Aware Image Resizing

Content-Aware Image Resizing Content-Aware Image Resizing EE368 Project Report Parnian Zargham Stanford University Electrical Engineering Department Stanford, CA pzargham@stanford.edu Sahar Nassirpour Stanford University Electrical

More information

9. Visible-Surface Detection Methods

9. Visible-Surface Detection Methods 9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:

More information

A User-based Evaluation of Skeletal Animation Techniques in Graph Interaction

A User-based Evaluation of Skeletal Animation Techniques in Graph Interaction A User-based Evaluation of Skeletal Animation Techniques in Graph Interaction Colin Murray School of Information Technologies The University of Sydney, Australia National ICT Australia Email: cmurray@it.usyd.edu.au

More information

2 E6885 Network Science Lecture 4: Network Visualization

2 E6885 Network Science Lecture 4: Network Visualization E 6885 Topics in Signal Processing -- Network Science E6885 Network Science Lecture 4: Network Visualization Ching-Yung Lin, Dept. of Electrical Engineering, Columbia University October 3rd, 2011 Course

More information

CPSC 583 Presentation Space: part I. Sheelagh Carpendale

CPSC 583 Presentation Space: part I. Sheelagh Carpendale CPSC 583 Presentation Space: part I Sheelagh Carpendale Context Basic ideas Partition Compression Filtering Non-linear magnification Zooming Partition: Windowing Xerox Star The main presentation ideas

More information

Binary Trees

Binary Trees Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what

More information

Background. Parallel Coordinates. Basics. Good Example

Background. Parallel Coordinates. Basics. Good Example Background Parallel Coordinates Shengying Li CSE591 Visual Analytics Professor Klaus Mueller March 20, 2007 Proposed in 80 s by Alfred Insellberg Good for multi-dimensional data exploration Widely used

More information

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1 Cluster Analysis Mu-Chun Su Department of Computer Science and Information Engineering National Central University 2003/3/11 1 Introduction Cluster analysis is the formal study of algorithms and methods

More information

Clustering and Visualisation of Data

Clustering and Visualisation of Data Clustering and Visualisation of Data Hiroshi Shimodaira January-March 28 Cluster analysis aims to partition a data set into meaningful or useful groups, based on distances between data points. In some

More information

Cluster Analysis. Angela Montanari and Laura Anderlucci

Cluster Analysis. Angela Montanari and Laura Anderlucci Cluster Analysis Angela Montanari and Laura Anderlucci 1 Introduction Clustering a set of n objects into k groups is usually moved by the aim of identifying internally homogenous groups according to a

More information

Graph and Tree Layout

Graph and Tree Layout CS8B :: Nov Graph and Tree Layout Topics Graph and Tree Visualization Tree Layout Graph Layout Jeffrey Heer Stanford University Goals Overview of layout approaches and their strengths and weaknesses Insight

More information

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path

More information

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse Tutorial Outline Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse exams. Math Tutorials offer targeted instruction,

More information

Prentice Hall Mathematics: Pre-Algebra 2004 Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 8)

Prentice Hall Mathematics: Pre-Algebra 2004 Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 8) Colorado Model Content Standards and Grade Level Expectations (Grade 8) Standard 1: Students develop number sense and use numbers and number relationships in problemsolving situations and communicate the

More information

Iterated Functions Systems and Fractal Coding

Iterated Functions Systems and Fractal Coding Qing Jun He 90121047 Math 308 Essay Iterated Functions Systems and Fractal Coding 1. Introduction Fractal coding techniques are based on the theory of Iterated Function Systems (IFS) founded by Hutchinson

More information

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Storing data on disk The traditional storage hierarchy for DBMSs is: 1. main memory (primary storage) for data currently

More information

5 Mathematics Curriculum. Module Overview... i. Topic A: Concepts of Volume... 5.A.1

5 Mathematics Curriculum. Module Overview... i. Topic A: Concepts of Volume... 5.A.1 5 Mathematics Curriculum G R A D E Table of Contents GRADE 5 MODULE 5 Addition and Multiplication with Volume and Area GRADE 5 MODULE 5 Module Overview... i Topic A: Concepts of Volume... 5.A.1 Topic B:

More information

TreeGNG - Hierarchical Topological Clustering

TreeGNG - Hierarchical Topological Clustering TreeGNG - Hierarchical Topological lustering K..J.Doherty,.G.dams, N.Davey Department of omputer Science, University of Hertfordshire, Hatfield, Hertfordshire, L10 9, United Kingdom {K..J.Doherty,.G.dams,

More information

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 16, Issue 6, Ver. VI (Nov Dec. 2014), PP 29-33 Analysis of Image and Video Using Color, Texture and Shape Features

More information

Aston Hall s A-Z of mathematical terms

Aston Hall s A-Z of mathematical terms Aston Hall s A-Z of mathematical terms The following guide is a glossary of mathematical terms, covering the concepts children are taught in FS2, KS1 and KS2. This may be useful to clear up any homework

More information

MET71 COMPUTER AIDED DESIGN

MET71 COMPUTER AIDED DESIGN UNIT - II BRESENHAM S ALGORITHM BRESENHAM S LINE ALGORITHM Bresenham s algorithm enables the selection of optimum raster locations to represent a straight line. In this algorithm either pixels along X

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Lesson 1 Parametric Modeling Fundamentals

Lesson 1 Parametric Modeling Fundamentals 1-1 Lesson 1 Parametric Modeling Fundamentals Create Simple Parametric Models. Understand the Basic Parametric Modeling Process. Create and Profile Rough Sketches. Understand the "Shape before size" approach.

More information

Graphs and Networks 1

Graphs and Networks 1 Graphs and Networks 1 CS 4460 Intro. to Information Visualization November 6, 2017 John Stasko Learning Objectives Define network concepts vertex, edge, cycle, degree, direction Describe different node-link

More information

Roswell Independent School District Grade Level Targets Summer 2010

Roswell Independent School District Grade Level Targets Summer 2010 1 NM Standards Children s Progress Core Standards Target: Possesses a working knowledge of the base ten number system, including ones and tens. Q1 Counts, sketches and represents some numbers. Q2 Counts,

More information

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions Data In single-program multiple-data (SPMD) parallel programs, global data is partitioned, with a portion of the data assigned to each processing node. Issues relevant to choosing a partitioning strategy

More information

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 Asymptotics, Recurrence and Basic Algorithms 1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 1. O(logn) 2. O(n) 3. O(nlogn) 4. O(n 2 ) 5. O(2 n ) 2. [1 pt] What is the solution

More information

Chapter 6. Planar Orientations. 6.1 Numberings of Digraphs

Chapter 6. Planar Orientations. 6.1 Numberings of Digraphs Chapter 6 Planar Orientations In this chapter we will focus on algorithms and techniques used for drawing planar graphs. The algorithms we will use are based on numbering the vertices and orienting the

More information

A New Online Clustering Approach for Data in Arbitrary Shaped Clusters

A New Online Clustering Approach for Data in Arbitrary Shaped Clusters A New Online Clustering Approach for Data in Arbitrary Shaped Clusters Richard Hyde, Plamen Angelov Data Science Group, School of Computing and Communications Lancaster University Lancaster, LA1 4WA, UK

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

IAT 355 Intro to Visual Analytics Graphs, trees and networks 2. Lyn Bartram

IAT 355 Intro to Visual Analytics Graphs, trees and networks 2. Lyn Bartram IAT 355 Intro to Visual Analytics Graphs, trees and networks 2 Lyn Bartram Graphs and Trees: Connected Data Graph Vertex/node with one or more edges connecting it to another node Cyclic or acyclic Edge

More information

Manual for using Pajek to initially draw the network pictures

Manual for using Pajek to initially draw the network pictures Grit Laudel and Jochen Gläser (TU Berlin) Manual for using Pajek to initially draw the network pictures (last updated August 2017) 1. Introduction This is a way around manually drawing the bibliometric

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Bipartite Graph Partitioning and Content-based Image Clustering

Bipartite Graph Partitioning and Content-based Image Clustering Bipartite Graph Partitioning and Content-based Image Clustering Guoping Qiu School of Computer Science The University of Nottingham qiu @ cs.nott.ac.uk Abstract This paper presents a method to model the

More information

Integrated Mathematics I Performance Level Descriptors

Integrated Mathematics I Performance Level Descriptors Limited A student performing at the Limited Level demonstrates a minimal command of Ohio s Learning Standards for Integrated Mathematics I. A student at this level has an emerging ability to demonstrate

More information

Scope and Sequence for the New Jersey Core Curriculum Content Standards

Scope and Sequence for the New Jersey Core Curriculum Content Standards Scope and Sequence for the New Jersey Core Curriculum Content Standards The following chart provides an overview of where within Prentice Hall Course 3 Mathematics each of the Cumulative Progress Indicators

More information

Navigating Product Catalogs Through OFDAV Graph Visualization

Navigating Product Catalogs Through OFDAV Graph Visualization Navigating Product Catalogs Through OFDAV Graph Visualization Mao Lin Huang Department of Computer Systems Faculty of Information Technology University of Technology, Sydney NSW 2007, Australia maolin@it.uts.edu.au

More information

Prentice Hall Mathematics: Course Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 6)

Prentice Hall Mathematics: Course Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 6) Colorado Model Content Standards and Grade Level Expectations (Grade 6) Standard 1: Students develop number sense and use numbers and number relationships in problemsolving situations and communicate the

More information

CSIT 691 Independent Project

CSIT 691 Independent Project CSIT 691 Independent Project A comparison of Mean Average Error (MAE) Based Image Search for Hexagonally and Regularly Structured Pixel Data Student: Sijing LIU Email: sijing@ust.hk Supervisor: Prof. David

More information

New Jersey Core Curriculum Content Standards for Mathematics Grade 7 Alignment to Acellus

New Jersey Core Curriculum Content Standards for Mathematics Grade 7 Alignment to Acellus New Jersey Core Curriculum Content Standards for Mathematics http://www.nj.gov/education/aps/cccs/math/ Standard 4.1.7: Number And Numerical Operations A. Number Sense 1. Extend understanding of the number

More information

GEOMETRY. Changes to the original 2010 COS is in red. If it is red and crossed out, it has been moved to another course.

GEOMETRY. Changes to the original 2010 COS is in red. If it is red and crossed out, it has been moved to another course. The Geometry course builds on Algebra I concepts and increases students knowledge of shapes and their properties through geometry-based applications, many of which are observable in aspects of everyday

More information

MENTAL MAP PRESERVATION PRINCIPLES AND RELATED MEASUREMENTS FOR QUANTITATIVE EVALUATION OF FORCE-DIRECTED GRAPH LAYOUT ALGORITHM BEHAVIOUR

MENTAL MAP PRESERVATION PRINCIPLES AND RELATED MEASUREMENTS FOR QUANTITATIVE EVALUATION OF FORCE-DIRECTED GRAPH LAYOUT ALGORITHM BEHAVIOUR MENTAL MAP PRESERVATION PRINCIPLES AND RELATED MEASUREMENTS FOR QUANTITATIVE EVALUATION OF FORCE-DIRECTED GRAPH LAYOUT ALGORITHM BEHAVIOUR by David S. Bergman B.Sc., Simon Fraser University, 1999 THESIS

More information

Sample tasks from: Algebra Assessments Through the Common Core (Grades 6-12)

Sample tasks from: Algebra Assessments Through the Common Core (Grades 6-12) Sample tasks from: Algebra Assessments Through the Common Core (Grades 6-12) A resource from The Charles A Dana Center at The University of Texas at Austin 2011 About the Dana Center Assessments More than

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

Unit 1, Lesson 1: Moving in the Plane

Unit 1, Lesson 1: Moving in the Plane Unit 1, Lesson 1: Moving in the Plane Let s describe ways figures can move in the plane. 1.1: Which One Doesn t Belong: Diagrams Which one doesn t belong? 1.2: Triangle Square Dance m.openup.org/1/8-1-1-2

More information

Figure 4.1: The evolution of a rooted tree.

Figure 4.1: The evolution of a rooted tree. 106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.

More information