103
Applying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for some software: Hooman Reisi Dekhordi Patrick Eades

Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

  • Upload
    others

  • View
    8

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Applying the weighted barycentre method to

interactive graph visualization

Peter Eades

University of Sydney

Thanks for some software:

• Hooman Reisi Dekhordi

• Patrick Eades

Page 2: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Graphs and Graph Drawings

Page 3: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What is a graph?

Page 4: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

• Bob is connected to Alice

• Bob is connected to Andrea

• Bob is connected to Amelia

• Brian is connected to Alice

• Brian is connected to Andrea

• Brian is connected to Amelia

• Boyle is connected to Alice

• Boyle is connected to Andrea

• Boyle is connected to Annie

• Bernard is connected to Alice

• Bernard is connected to Andrea

• Bernard is connected to Annie

Nodes:

• Alice, Andrea, Annie, Amelia, Bob, Brian, Bernard, Boyle

A graph consists of

• Nodes, sometimes called “vertices”,

and

• Binary relationships, called “edges” between the nodes.

Example: a “Linked-In” style social network

Edges:

Page 5: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Notation:

The degree deg(𝒖) of a node 𝒖 is the number of edges attached to 𝒖.

• Bob is connected to Alice

• Bob is connected to Andrea

• Bob is connected to Amelia

• Brian is connected to Alice

• Brian is connected to Andrea

• Brian is connected to Amelia

• Boyle is connected to Alice

• Boyle is connected to Andrea

• Boyle is connected to Annie

• Bernard is connected to Alice

• Bernard is connected to Andrea

• Bernard is connected to Annie

Nodes:

• Alice, Andrea, Annie, Amelia, Bob, Brian, Bernard, Boyle

Example:

deg 𝑩𝒓𝒊𝒂𝒏 = 𝟑; deg(𝑨𝒍𝒊𝒄𝒆) = 𝟒.

Edges

Page 6: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Notation:

The neighbour set 𝑵(𝒖) of a node 𝒖 is the set of nodes that are linked

to 𝒖 by an edge.

• Bob is connected to Alice

• Bob is connected to Andrea

• Bob is connected to Amelia

• Brian is connected to Alice

• Brian is connected to Andrea

• Brian is connected to Amelia

• Boyle is connected to Alice

• Boyle is connected to Andrea

• Boyle is connected to Annie

• Bernard is connected to Alice

• Bernard is connected to Andrea

• Bernard is connected to Annie

Nodes:

• Alice, Andrea, Annie, Amelia, Bob, Brian, Bernard, Boyle

Example:

𝑵 𝑩𝒓𝒊𝒂𝒏 = {𝑨𝒍𝒊𝒄𝒆, 𝑨𝒏𝒅𝒓𝒆𝒂, 𝑨𝒎𝒆𝒍𝒊𝒂}; 𝑵 𝑨𝒍𝒊𝒄𝒆 = {𝑩𝒐𝒃,𝑩𝒓𝒊𝒂𝒏,𝑩𝒐𝒚𝒍𝒆,𝑩𝒆𝒓𝒏𝒂𝒓𝒅}.

Edges

Page 7: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Note:

Edges can be weighted.

• 𝑤(Bob – Alice) = 1

• 𝑤(Bob -- Andrea) = 5

• 𝑤(Bob -- Amelia) = 1

• 𝑤(Brian -- Alice) = 2

• 𝑤(Brian -- Andrea) = 100

• 𝑤(Brian -- Amelia) = 3

• 𝑤(Boyle -- Alice) = 1

• 𝑤(Boyle -- Andrea) = 1

• 𝑤(Boyle -- Annie) = 5

• 𝑤(Bernard -- Alice) = 1

• 𝑤(Bernard -- Andrea) = 9

• 𝑤(Bernard -- Annie) = 1

Nodes:

• Alice, Andrea, Annie, Amelia, Bob, Brian, Bernard, Boyle

Edges

Example: an edge-weighted “Linked-In” style social network

Page 8: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What is a graph drawing?

Page 9: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A graph consists of

• Nodes, and

• Edges

Gra

ph

Gra

ph D

raw

ing

A graph drawing is a picture of a graph.

That is, a graph drawing is a mapping that assigns

• a location for each node, and

• a curve to each edge.

Page 10: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A d

raw

ing o

f th

e

socia

l netw

ork

Boyle Amelia Bob Bernard Brian

Andrea

Alice

Annie

• Bob is connected to Alice

• Bob is connected to Andrea

• Bob is connected to Amelia

• Brian is connected to Alice

• Brian is connected to Andrea

• Brian is connected to Amelia

• Boyle is connected to Alice

• Boyle is connected to Andrea

• Boyle is connected to Annie

• Bernard is connected to Alice

• Bernard is connected to Andrea

• Bernard is connected to Annie

Nodes:

• Bob, Brian, Bernard, Boyle, Alice, Andrea, Annie, Amelia

Edges

A s

ocia

l netw

ork

Page 11: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A drawing of the graph

6

2

3

4

1

7

0

5

0, 1, 2, 3, 4, 5, 6, 7

0 – 1

0 – 4

1 – 2

1 – 4

1 – 7

2 – 3

2 – 4

2 – 5

3 – 4

4 – 5

4 – 7

5 – 6

5 – 7

6 – 7

Nodes

Edges

A graph

Page 12: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A graph drawing is a straight-line drawing

if every edge is a straight line segment.

Boyle Amelia Bob Bernard Brian

Andrea

Alice

Annie

6

2

3

4

1

7

0 5

A straight-line drawing

NOT a straight-line

drawing

Page 13: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What is connectivity?

Page 14: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Connectivity notions are fundamental in any study of

graphs or networks

• A graph is connected if for every pair u, v of vertices,

there is a path between u and v.

• A graph is k-connected if there is no set of (k-1)

vertices whose deletion disconnects the graph.

k = 1: “1-connected” ≡ “connected”

k = 2: “2-connected” ≡ “biconnected”

k = 3: “3-connected” ≡ “triconnected”

Page 15: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

This graph is

connected This graph is not connected

Connected

components

Page 16: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Connectivity notions are fundamental in any study of

networks

• A graph is connected if for every pair u, v of

vertices, there is a path between u and v.

• A graph is k-connected if there is no set of (k-1)

vertices whose deletion disconnects the graph.

k = 1: “1-connected” ≡ “connected”

k = 2: “2-connected” ≡ “biconnected”

k = 3: “3-connected” ≡ “triconnected”

Page 17: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

This graph is biconnected This graph is not biconnected

“2-connected” ≡ “biconnected”

– A cutvertex is a vertex whose removal would

disconnect the graph.

– A graph without cutvertices is biconnected.

Page 18: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

This graph is triconnected This graph is not triconnected

“3-connected” ≡ “triconnected”

– A separation pair is a pair of vertices whose removal would

disconnect the graph.

– A graph without separation pairs is triconnected.

Page 19: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What is a planar graph?

Page 20: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A graph is planar if it can be drawn

without edge crossings.

Page 21: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

7

5

1

9

6

2

3

4

0

8

A graph is planar if it can be drawn without edge crossings.

Nodes:

• 0,1,2,3,4,5,6,7,8,9

Edges

• 0 – 4

• 0 – 9

• 1 – 2

• 1 – 6

• 1 – 7

• 2 – 3

• 2 – 8

• 3 – 4

• 4 – 5

• 4 – 8

• 5 – 6

• 5 – 7

• 7 – 8

Page 22: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Non-p

lanar Nodes:

• 0,1,2,3,4,5

Edges

• 0 – 1

• 0 – 3

• 0 – 5

• 1 – 2

• 1 – 4

• 2 – 3

• 2 – 5

• 3 – 4

• 4 – 5

A graph is non-planar if

every drawing has at least

one edge crossing.

Page 23: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What is a topological embedding?

Page 24: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

F0

F4

A planar drawing divides

the plane into faces.

F1

F2

F3

The boundary-sharing relationships of the faces

defines a topological embedding of the graph

drawing

F0 shares a boundary with F1

F0 shares a boundary with F2

F0 shares a boundary with F3

F0 shares a boundary with F4

F1 shares a boundary with F2

F1 shares a boundary with F4

F2 shares a boundary with F1

F2 shares a boundary with F3

F2 shares a boundary with F4

F3 shares a boundary with F4

Page 25: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What is a good graph drawing?

Page 26: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A - B, C, D

B - A, C, D

C - A, B, D, E

D - A, B, C, E

E - C, D

The input is a graph

with no geometry

A B

D

C

E

The output should be a

good graph drawing:

easy to understand,

easy to remember,

beautiful.

Gra

ph

Gra

ph D

raw

ing

Page 27: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

~1979 Intuition (Sugiyama et al. 1979; Batini et al 1982; etc ):

– Planar straight-line drawings make good pictures

Bad drawing Good drawing

Paul

Murphy

Joe

David

Alice

Jocelyn

Bob John

Albert

Dunstan

Murphy Bob

Paul

Joe

David

Alice

Jocelyn

John

Albert

Dunstan

Page 28: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Purchase et al.,1997:

Significant correlation between

edge crossings and human

understanding

More edge crossings means

more human errors in

understanding

Page 29: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Purchase et al., 1997:

Significant correlation between

straightness of edges and

human understanding

More bends mean more

human errors in

understanding

Page 30: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

What makes a good drawing of a graph?

lack of edge crossings

straightness of edges

(plus some other things)

Planar straight-line drawings of graphs are GOOD!

(This talk is about planar

straight-line drawings of

graphs!)

Page 31: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s Barycentre Algorithm

Page 32: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

W. T. Tutte 1917 - 2002

– Code breaker at Bletchley park

– Pioneer of graph theory

William T. Tutte. “How to draw a graph.” Proc.

London Math. Society, 13(52):743 -768, 1963.

Page 33: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycentre algorithm is the

original graph drawing algorithm

Page 34: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Run VinciTest1

Page 35: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycentre algorithm

Input: A planar graph 𝐺 = (𝑉, 𝐸)

Output: A straight-line drawing 𝑝 of 𝐺

Step 1. Choose a face 𝑓of 𝐺.

Step 2. Draw 𝑓 as a convex polygon.

Step 3. For all 𝑢 not in 𝑓, choose 𝑝(𝑢) by

𝑝 𝑢 =1

deg(𝑢) 𝑝(𝑣)

𝑣∈𝑁(𝑢)

where the sum is over all neighbors 𝑣 of 𝑢.

Vertex 𝑢 is

placed at the

“barycenter” of

its neighbors

Page 36: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Example

output

Page 37: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3. For all 𝑢 not on 𝑓, choose 𝑝(𝑢) by

𝑝 𝑢 =1

deg(𝑢) 𝑝(𝑣)

𝑣∈𝑁(𝑢)

where the sum is over all neighbors 𝑣 of 𝑢

𝑥 𝑢 =

1

deg(𝑢) 𝑥(𝑣)

𝑣∈𝑁(𝑢)

and

𝑦 𝑢 =1

deg(𝑢) 𝑦(𝑣)

𝑣∈𝑁(𝑢)

2 𝑉 − 𝑓 = 𝑂( 𝑉 ) linear equations

“barycentre

equations”

Page 38: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3. For all 𝑢 not on 𝑓, choose

𝑝 𝑢 = 𝑥 𝑢 , 𝑦 𝑢

by

𝑥 𝑢 =1

deg(𝑢) 𝑥(𝑣)

𝑣∈𝑁(𝑢)

and

𝑦 𝑢 =1

deg(𝑢) 𝑦(𝑣)

𝑣∈𝑁(𝑢)

where the sum is over all neighbors 𝑣 of 𝑢

The critical part is step 3 ….

5

2

6

4

1

3

8 7

Page 39: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

5

2

6

4

1 3

8 7

Step 1. 𝑓 = {4, 5, 6, 7, 8}

Step 2. For all 𝑖 = 4, 5, 6, 7, 8,choose the location (𝑥𝑖, 𝑦𝑖) of 𝑖 so that they form a convex polygon.

Step 3. Find 𝑥1, 𝑥2, 𝑥3such that:

𝑥1 =1

4(𝑥2 + 𝑥3 + 𝑥′4 + 𝑥′8)

𝑥2 =1

4(𝑥1 + 𝑥3 + 𝑥′5 + 𝑥′6)

𝑥3 =1

3(𝑥1 + 𝑥2 + 𝑥′7)

and find 𝑦1, 𝑦2, 𝑦3such that:

𝑦1 =1

4(𝑦2 + 𝑦3 + 𝑦′4 + 𝑦′8)

𝑦2 =1

4(𝑦1 + 𝑦3 + 𝑦′5 + 𝑦′6)

𝑦3 =1

3(𝑦1 + 𝑦2 + 𝑦′7)

where 𝑥’𝑖 and 𝑦’𝑖 are the values chosen at step 2.

Example

Page 40: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

5

2

6

4

1 3

8 7

Re-write the equations for step 3:

4𝑥1 −𝑥2 − 𝑥3 = 𝑥′4 + 𝑥′8

−𝑥1 + 4𝑥2 − 𝑥3 = 𝑥′5 + 𝑥′6 −𝑥1 − 𝑥2 + 3𝑥3 = 𝑥′5

and 4𝑦1 −𝑦2 − 𝑦3 = 𝑦′4 + 𝑦′8

−𝑦1 + 4𝑦2 − 𝑦3 = 𝑦′5 + 𝑦′6 −𝑦1 − 𝑦2 + 3𝑦3 = 𝑦′5

That is: 4𝑥1 −𝑥2 − 𝑥3 = 𝑐1

−𝑥1 + 4𝑥2 − 𝑥3 = 𝑐2 −𝑥1 − 𝑥2 + 3𝑥3 = 𝑐3

and 4𝑦1 −𝑦2 − 𝑦3 = 𝑑1

−𝑦1 + 4𝑦2 − 𝑦3 = 𝑑2 −𝑦1 − 𝑦2 + 3𝑦3 = 𝑑3

where 𝑐1, 𝑐2, 𝑐3, 𝑑1, 𝑑2, 𝑑3are constants

Page 41: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

5

2

6

4

1 3

8 7

Re-writing the equations using a matrix:

We want vectors 𝑥 =

𝑥1𝑥2𝑥3

and 𝑦 =

𝑦1𝑦2𝑦3

such that 𝑀𝑥 = 𝑐

and 𝑀𝑦 = 𝑑

where

𝑀 =4 −1 −1−1 4 −1−1 −1 3

The essence of Tutte’s barycentre

algorithm is inverting a matrix

Page 42: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycentre algorithm

Input: A triconnected planar graph 𝐺 = (𝑉, 𝐸)

Output: A planar straight-line drawing 𝑝 of 𝐺

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3.

(a) Let 𝑀be the square symmetric matrix indexed by the vertices of 𝐺 − 𝑓

defined by

𝑀𝑢𝑣= deg(𝑢) if𝑢 = 𝑣

−1 if 𝑢, 𝑣 ∈ 𝐸0 otherwise

(b) Let 𝑐 and 𝑑 be vectors indexed by the vertices of 𝐺 − 𝑓 defined by

𝑐𝑢= 𝑥𝑤𝑤∈𝑓 and 𝑑𝑢= 𝑦𝑤𝑤∈𝑓

(c) Let 𝑥 and 𝑦 be vectors indexed by the vertices of 𝐺 − 𝑓 defined by

𝑥 = 𝑀−1𝑐 and 𝑦 = 𝑀−1𝑑

(d) Let 𝑝(𝑢) = (𝑥𝑢, 𝑦𝑢)for all 𝑢 not on 𝑓.

The matrix of the

barycentre equations is

a Laplacian submatrix.

Page 43: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A more general barycentre algorithm

Step 1. Choose a subset 𝐴 of 𝑉

Step 2. Choose a location 𝑝(𝑎) = (𝑥(𝑎), 𝑦(𝑎))for each vertex 𝑎 ∈ 𝐴

Step 3. Solve the barycentre equations to give a position

𝑝 𝑢 = 𝑥 𝑢 , 𝑦 𝑢

for each vertex 𝑢 ∈ 𝑉 − 𝐴

The subset 𝐴 of 𝑉 is called

the set of fixed nodes.

Page 44: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A few lemmas and theorems about the barycentre equations

Page 45: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Proof: Follows from Kirchhoff's spanning tree theorem.

Determinant Lemma: If 𝐺𝐴 is connected then the matrix 𝑀 of the

barycentre equations has a positive determinant.

Definition: If 𝐴 ⊆ 𝑉 then the 𝐴-contraction 𝐺𝐴 of 𝐺 is the graph obtained

from 𝐺 by identifying all vertices in 𝐴 (ie, contracting 𝐴 to a single vertex).

(actually, even more is true:

The barycentre matrix is positive definite)

5

2

6

4

1

3

8 7

2

1

3

𝐺 𝐺𝐴

Page 46: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Uniqueness Lemma: If 𝐺𝐴 is connected then the barycentre

equations have a unique solution.

A corollary:

Page 47: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s amazing theorem

Theorem (Tutte 1960/63)

If the input graph is planar and triconnected, then

• the drawing output by the barycentre

algorithm is planar, and

• every face is convex.

Page 48: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Implementation

The main part of the barycentre algorithm inverting the 𝑛X𝑛

barycentre matrix 𝑀.

The usual Gaussian elimination: 𝑂(𝑛3)

Williams algorithm: 𝑂(𝑛2.373)

If the graph is planar, then the matrix 𝑀 is sparse, then we

can use Lipton-Tarjan nested dissection: 𝑂(𝑛1.5)

In practice we can use numerical methods (such as Gauss-

Seidel / Jacobi iterations); these converge rapidly since 𝑀 is

diagonally dominant.

Page 49: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Example (planar graph, 100 vertices)

Page 50: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Example (planar graph, 100 vertices)

Page 51: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Example (planar graph, 200 vertices)

Page 52: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Example (planar graph, 1000 vertices)

Page 53: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The Weighted Barycentre Algorithm

Page 54: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Weighted barycentre algorithm

Input: A positive-edge-weighted triconnected planar graph 𝐺 = (𝑉, 𝐸, 𝑤)

Output: A straight-line drawing 𝑝 of 𝐺

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3. For all 𝑢 not on f, choose 𝑝(𝑢) by

𝑝 𝑢 =1

𝑤Deg(𝑢) 𝑤𝑢𝑣𝑝(𝑣)

𝑣∈𝑁(𝑢)

where

𝑤𝐷𝑒𝑔 𝑢 = 𝑤𝑢𝑣𝑣∈𝑁(𝑢)

Vertex 𝑢 is placed at

the “weighted

barycenter” of its

neighbors

Page 55: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Weighted barycentre algorithm

Input: A weighted triconnected planar graph 𝐺 = (𝑉, 𝐸, 𝑤)

Output: A planar straight-line drawing 𝑝 of 𝐺

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3.

(a) Let 𝑀be the square symmetric matrix indexed by the vertices of 𝐺 − 𝑓

defined by

𝑀𝑢𝑣=

𝑤𝑢𝑣𝑣∈𝑁(𝑢) if𝑢 = 𝑣

− 𝑤𝑢𝑣𝑝(𝑣)𝑣∈𝑁(𝑢) if 𝑢, 𝑣 ∈ 𝐸

0 otherwise

(c) Let 𝑥 and 𝑦 be vectors indexed by the vertices of 𝐺 − 𝑓 defined by

𝑥 = 𝑀−1𝑐 and 𝑦 = 𝑀−1𝑑

(d) Let 𝑝(𝑢) = (𝑥𝑢, 𝑦𝑢)for all 𝑢 not on 𝑓.

The matrix is diagonally

dominant and has

positive entries.

Page 56: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

A few lemmas and theorems about the weighted barycentre equations

Page 57: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Determinant Lemma: If 𝐺𝐴 is connected then the matrix 𝑀 of the

barycentre equations has a positive determinant.

Uniqueness Lemma: If 𝐺𝐴 is connected then the barycentre

equations have a unique solution.

Page 58: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Corollary to Tutte’s amazing theorem (Floater 1997, maybe earlier)

If the input graph is planar and triconnected, then

• the drawing output by the weighted

barycentre algorithm is planar, and

• every face is convex.

Page 59: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The Energy View

Page 60: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycentre algorithm is “force-directed”

Page 61: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycenter algorithm:

The energy view

1. Choose a set 𝐴 of vertices.

2. Choose a location 𝑝(𝑎) for each 𝑎 ∈ 𝐴

3. Place all the other vertices to minimize energy.

5

2

6

4

1 3

8 7

What is the energy of a drawing 𝑝?

• The Euclidean distance between u and v in the drawing 𝑝 is:

𝑑 𝑢, 𝑣 = 𝑥𝑢 − 𝑥𝑣 +(𝑦𝑢 − 𝑦𝑣)2

• The energy in the edge(𝑢, 𝑣) is 𝑑 𝑢, 𝑣 2 = (𝑥𝑢 − 𝑥𝑣)2+(𝑦𝑢 − 𝑦𝑣)

2

• The energy in the drawing𝑝 is the sum of the energy in its edges, ie,

𝑒𝑛𝑒𝑟𝑔𝑦 𝑝 = 𝑑(𝑢, 𝑣)2

(𝑢,𝑣)∈𝐸

= (𝑥𝑢 − 𝑥𝑣)2+(𝑦𝑢 − 𝑦𝑣)

2

(𝑢,𝑣)∈𝐸

Page 62: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycenter algorithm:

The energy view

We represent each vertex by a steel ring, and represent each edge by a spring of natural length zero connecting the rings at its endpoints.

1. Choose a set 𝐴 of vertices.

2. For each 𝑎 ∈ 𝐴, nail the ring representing 𝑎 to the floor at some position.

3. The vertices in 𝑉 − 𝐴 will move around a bit; when the movement stops, take a photo of the layout; this is the drawing.

5

2

6

4

1 3

8 7

Note: for Tutte’s barycentre algorihm:

The springs have zero natural length

Similar to elastic bands

Page 63: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

How to minimize energy:

Choose a location 𝑝 𝑢 = 𝑥𝑢, 𝑦𝑢 for each 𝑢 ∈ 𝑉 − 𝐴to minimize

𝑒𝑛𝑒𝑟𝑔𝑦 𝑝 = 𝑑(𝑢, 𝑣)2

(𝑢,𝑣)∈𝐸

= (𝑥𝑢 − 𝑥𝑣)2+(𝑦𝑢 − 𝑦𝑣)

2

(𝑢,𝑣)∈𝐸

Note that the minimum is unique, and occurs when

𝜕(𝑒𝑛𝑒𝑟𝑔𝑦 𝑝 ) 𝜕𝑥𝑢

= 0 and 𝜕(𝑒𝑛𝑒𝑟𝑔𝑦 𝑝 )

𝜕𝑦𝑢= 0

for each 𝑢 ∈ 𝑉 − 𝐴.

Page 64: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

For 𝑥𝑢, the minimum occurs when:

Barycentre

equations

𝑥𝑢 =1

deg(𝑢) 𝑥𝑣

𝑣∈𝑉𝑠.𝑡.(𝑢,𝑣)∈𝐸

𝜕(𝑒𝑛𝑒𝑟𝑔𝑦 𝑝 )

𝜕𝑥𝑢= 0

𝜕

𝜕𝑥𝑢 (𝑥𝑢 − 𝑥𝑣)

2+(𝑦𝑢 − 𝑦𝑣)2

(𝑢,𝑣)∈𝐸

= 0

2(𝑥𝑢 − 𝑥𝑣)

𝑣∈𝑉𝑠.𝑡.(𝑢,𝑣)∈𝐸

= 0

Page 65: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycenter algorithm:

The energy view

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3: Place all the other vertices to

minimize energy.

5

2

6

4

1 3

8 7

The weighted barycentre algorithm is a force directed algorithm

Edges are Hooke’s law springs with zero natural length.

The weights define strengths for the springs.

The fixed set are nodes nailed down (i.e., they don’t move).

Page 66: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Tutte’s barycenter algorithm:

The energy view

Step 1. Choose a face 𝑓of 𝐺

Step 2. Draw 𝑓 as a convex polygon

Step 3: Place all the other vertices to

minimize energy.

5

2

6

4

1 3

8 7

The biggest differences between the weighted barycentre algorithm and other force-directed methods are:

For the barycentre algorithm, the springs have zero natural length.

For the barycentre algorithm, the equations are easy to solve.

Page 67: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Animation

Page 68: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The animation problem:

Given two drawings of a graph 𝐺,find a “nice” animation that takes

one to the other.

Key frame 0

Key frame 1

animate

Problem: how to compute

the frames in between

Page 69: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Run VinciTest2

Page 70: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The animation problem:

Given two planar drawings 𝑝0 and 𝑝1 of a graph 𝐺:

Find a “nice” animation that takes 𝑝0 to 𝑝1 .

Here we represent the drawing 𝑝0 as a 2X𝑛 vector with a row

𝑥0(𝑢), 𝑦0(𝑢) for each vertex 𝑢; similarly for 𝑝1 .

𝑝0 𝑝1

The animation consists of a drawing 𝑝𝑡 for each 𝑡 with 0 ≤ 𝑡 ≤ 1.

We want two properties of the animation:

1. Planarity: The drawing 𝑝𝑡 is planar for 0 ≤ 𝑡 ≤ 1,

2. Smoothness: The animation is smooth, that is, the animation

function 𝑎: 𝑡 → 𝑝𝑡 is continuous and differentiable.

In between frames 𝑝𝑡 for 0 < 𝑡 < 1

Page 71: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The animation problem:

Given two planar drawings 𝑝0 and 𝑝1 of a graph 𝐺:

Find an animation 𝑎: 𝑡 → 𝑝𝑡 with two properties:

Planarity

Smoothness

If 𝑝0 and 𝑝1 are weighted barycentre drawings, then the animation

problem is easy: just interpolate the weights.

Solution (Floater and Gotsman, 1999, maybe others):

Page 72: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Say drawings 𝑝0 and 𝑝1 are barycentre drawings with barycentre

matrices 𝑀0 and 𝑀1, that is,

𝑀0𝑝0 = 𝑐 and 𝑀1𝑝1 = 𝑐

for a constant 2X𝑛 vector 𝑐 .

Let 𝑀𝑡 = 1 − 𝑡 𝑀0 + 𝑡𝑀1.

Theorem:

Suppose that 𝑝𝑡 is a solution to the barycentre equation with matrix 𝑀𝑡,

that is, 𝑀𝑡𝑝𝑡 = 𝑐 .

Then the animation function 𝑎: 𝑡 → 𝑝𝑡 is planar and smooth.

Proof

It is planar by Tutte’s amazing Theorem.

It is smooth by the Determinant Lemma.

Page 73: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The Bi-Weighted Barycentre Algorithm

Page 74: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Run VinciTest3

Page 75: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The bi-weighted barycentre algorithm with weak parameter 𝛿

Suppose that

• 𝐺 = (𝑉, 𝐸) is a triconnected planar graph and 𝑓 is a face of 𝐺.

• Suppose that 𝐺′ = (𝑉′, 𝐸′) is a subgraph of 𝐺.

• The 𝑓-contractions 𝐺𝑓 and 𝐺′𝑓 are connected.

• 𝛿 > 0 is small.

We define weights 𝑤𝑢𝑣 = 1 if 𝑢, 𝑣 ∈ 𝐸′𝛿 otherwise

.

Edges in 𝐸′ are

strong springs

Edges in 𝐸 − 𝐸′ are

weak springs.

The strong graph 𝐺′ = (𝑉′, 𝐸′) is the subgraph with all edge weights 1,

plus the vertices and edges of 𝑓.

The weak graph 𝐺′′ = (𝑉′′, 𝐸′′) is the subgraph with all edge weights 𝛿,

plus the vertices and edges of 𝑓.

Page 76: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The strong graph theorem

and

The weak graph theorem

Page 77: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Informally:

If the strong edges are connected to the fixed set 𝑓, then the barycentre

drawing of the whole graph is arbitrarily close to the barycentre drawing of the

strong graph.

Suppose that the 𝐺𝑓 is connected, and the strong graph is 𝐺′.

Suppose that 𝐺′𝑓 is connected, 𝑝𝐺′ is the bi-weighted barycentre

drawing of 𝐺 restricted to the vertices of 𝐺′, with weak parameter 𝛿,

and 𝑝 ′ is the barycentre drawing of 𝐺′.

Then for every 𝜖 > 0 there is a 𝛿 > 0such that 𝑝𝐺′ − 𝑝 ′ < 𝜖.

Strong Graph Theorem

Page 78: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Suppose that the 𝐺𝑓 is connected, and the strong graph is 𝐺′.

Suppose that 𝐺′𝑓 is connected, 𝑝𝐺′ is the bi-weighted barycentre

drawing of 𝐺 restricted to the vertices of 𝐺′, with weak parameter 𝛿,

and 𝑝 ′ is the barycentre drawing of 𝐺′.

Then for every 𝜖 > 0 there is a 𝛿 > 0such that 𝑝𝐺′ − 𝑝 ′ < 𝜖.

Strong Graph Theorem

The drawing of the whole

graph is similar to the

drawing of the strong

graph.

Page 79: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Proof. Use two results:

1. The “Hoffman principle”: if 𝑀𝑥 − 𝑏 is small then 𝑥 is close to a solution of

𝑀𝑥 = 𝑏

2. The uniqueness lemma.

Suppose that the 𝐺𝑓 is connected, and the strong graph is 𝐺′.

Suppose that 𝐺′𝑓 is connected, 𝑝𝐺′ is the bi-weighted barycentre

drawing of 𝐺 restricted to the vertices of 𝐺′, with weak parameter 𝛿,

and 𝑝 ′ is the barycentre drawing of 𝐺′.

Then for every 𝜖 > 0 there is a 𝛿 > 0such that 𝑝𝐺′ − 𝑝 ′ < 𝜖.

Strong Graph Theorem

Page 80: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Suppose that the 𝐺𝑓 is connected, and the weak graph is 𝐺′′.

Suppose that 𝐺′′𝑓 is connected, 𝑝𝐺′′ is the bi-weighted barycentre

drawing of 𝐺 restricted to the vertices of 𝐺′′, with weak parameter 𝛿,

and 𝑝 ′′ is the barycentre drawing of 𝐺′′.

Then for every 𝜖 > 0 there is a 𝛿 > 0such that 𝑝𝐺′′ − 𝑝′ ′ < 𝜖.

Suppose that the 𝐺𝑓 is connected, and the weak graph is 𝐺′′.

Suppose that the strong graph 𝐺′ is connected but has no vertex in 𝑓.

Let 𝑝𝐺′ be the barycentre drawing of the graph formed from 𝐺 by

collapsing all of 𝐺′ to a single node.

Suppose that 𝐺′′𝑓 is connected, 𝑝𝐺′′ is the bi-weighted barycentre

drawing of 𝐺 restricted to the vertices of 𝐺′, with weak parameter 𝛿.

Then for every 𝜖 > 0 there is a 𝛿 > 0such that 𝑝𝐺′ − 𝑝𝐺′′ < 𝜖.

Weak Graph Theorem

Informally:

If the strong graph is connected but not connected to the fixed set 𝑓, then the

barycentre drawing of the whole graph is arbitrarily close to the barycentre

drawing where the strong graph is collapsed to a single node.

Page 81: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The drawing of the whole graph

is similar to the drawing of

the weak graph.

Page 82: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Clustered Planar Graphs

Page 83: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Clustered graphs

Page 84: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Run VinciTest3 (again)

Page 85: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for
Page 86: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for
Page 87: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Semantic Zoom

Page 88: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Focus + context display:

Focus: we want to zoom in to the neighbourhood of 𝑢, to see it in

detail.

Context: we can reduce detail for parts of G that are further from 𝑢.

This can be achieved via geometric or semantic zooming.

Geometric zoom: “neighbourhood” and “distance” are defined

geometrically

Semantic zoom: “neighbourhood” and “distance” are defined

graph-theoretically

Semantic zoom is better!

Page 89: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Geometric zoom

Page 90: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

VinciTest4

Page 91: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Weighted barycentre for semantic zoom for focus vertex 𝑟:

For each vertex 𝑢, let 𝑑(𝑢) =graph theoretic distance between 𝑟and 𝑢.

For each edge (𝑢, 𝑣), 𝑤𝑢𝑣 = 𝑘𝑑(𝑢) + 𝑘𝑑 𝑣

That is, edges become weaker as they get close to the focus node.

Page 92: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for
Page 93: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Finishing Up

Page 94: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The weighted barycentre algorithm can do many things

Animation

Clustered graph drawing

Semantic zoom

But there is more …

Page 95: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

there’s more ….

• Emphasize a specified spanning tree

• Emphasize a specified path (run VinciTest10)

• Adjust layout after adding/deleting and edge/vertex

Page 96: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

The weighted barycentre algorithm can do many things

Animation

Clustered graph drawing

Semantic zoom

Emphasize a specified spanning tree

Emphasize a specified path

Adjust layout after adding/deleting and edge/vertex

But some things are still a problem …

Page 97: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Consider this graph 𝐺𝑘 with 𝑘 + 2 nodes 𝑢1

𝑢2

𝑢3

𝑢𝑘−1

𝑢𝑘

In a barycentre drawing of

graph 𝐺𝑘, nodes 𝑢𝑘−1 and

𝑢𝑘 are exponentially close

together (distance less than 1

2𝑘)

Page 98: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Run VinciTest7

Page 99: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Important note:

For practical graph drawing, vertex resolution is very important,

because nontrivial labels need to be attached to nodes.

Page 100: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

But by weighting the

edges, we can get a

better drawing:

𝑤 𝑢𝑖 , 𝑢𝑖+1 = 2𝑘−𝑖

𝑢1

𝑢2

𝑢3

𝑢𝑘−1

𝑢𝑘

Page 101: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Run VinciTest8, then 9

Page 102: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for

Open problem

Given a triconnected planar graph 𝐺 = (𝑉, 𝐸)

Find weights on the edges so that the vertex resolution is good.

That is:

Given a graph 𝐺 = (𝑉, 𝐸),find a diagonally dominant

matrix 𝑀such that

𝑀𝑢𝑣 > 0if 𝑢 ≠ 𝑣 and (𝑢, 𝑣) ∈ 𝐸

𝑀𝑢𝑣 = 0if 𝑢 ≠ 𝑣 and (𝑢, 𝑣) ∈ 𝐸

and

min𝑢, 𝑣 ∈ 𝑉

𝑝 𝑢 − 𝑝 𝑣 is maximal.

Page 103: Applying the weighted barycentre method to …peter/vinci_v1.pdfApplying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for