drawing plane graphs takao nishizeki tohoku university

Post on 04-Jan-2016

231 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Drawing Plane Graphs

Takao Nishizeki

Tohoku University

US PresidentCalifornia Governor

US PresidentCalifornia Governor

What is the common feature?

Graphs and Graph Drawings

A diagram of a computer network

ATM-SW

ATM-SW

ATM-SW

ATM-SW

ATM-SW

ATM-HUBATM-RT

TPDDI

ATM-RT

ATM-HUB

ATM-HUB

ATM-RT

TPDDI

ATM-RT

ATM-HUB

STATIONSTATION

STATIONSTATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATIONTPDDI

STATIONATM-HUB

STATION

STATION

Objectives of Graph Drawings

To obtain a nice representation of a graph so that the structure of the graph is easily understandable.

structure of the graph is difficult to understand

structure of the graph is easy to understand

Nice drawing

Symmetric Eades, Hong

Objectives of Graph Drawings

Nice drawing

Ancient beauty

Modernbeauty

The drawing should satisfy some criterion arising from the application point of view.

1 2 3

4

57

8

not suitable for single layered PCB

suitable for single layered PCB

1 2 3

4

6

8

57

Objectives of Graph Drawings

Diagram of an electronic circuit

Wire crossings

Drawings of Plane Graphs

Convex drawing

Straight line drawing

Drawings of Plane Graphs

Rectangular drawing

Orthogonal drawing

Box-rectangular drawing

Book

Planar Graph Drawing

by

Takao NishizekiMd. Saidur Rahman

http://www.nishizeki.ecei.tohoku.ac.jp/nszk/saidur/gdbook.html

Straight Line Drawing

Plane graph

Straight Line Drawing

Plane graphStraight line drawing

Straight Line Drawing

Each vertex is drawn as a point.

Plane graphStraight line drawing

Straight Line Drawing

Each vertex is drawn as a point.

Each edge is drawn as a single straight line segment.

Plane graphStraight line drawing

Straight Line Drawing

Each vertex is drawn as a point.

Each edge is drawn as a single straight line segment.

Plane graphStraight line drawing

Every plane graph has a straight line drawing.

Wagner ’36 Fary ’48Polynomial-time algorithm

Straight Line Drawing

Plane graphStraight line drawing

W

H

W

H

Straight Line Grid Drawing

In a straight line grid drawing each vertex is drawn on a grid point.

Plane graph

Straight line grid drawing.

Wagner ’36 Fary ’48

Plane graph

Straight line grid drawing.

Grid-size is not polynomial of the number of vertices n

Plane graph

Straight line grid drawing.

de Fraysseix et al. ’9022nHW

nW 2

nH

Straight Line Grid Drawing

Plane graph

Straight line grid drawing.

de Fraysseix et al. ’9022nHW

nW 2

nH

Chrobak and Payne ’95

Linear algorithm

n-2

n-2

Schnyder ’90

W

H

2nHW Upper bound

What is the minimum size of a grid required for a straight line drawing?

2

3

2

nHW

Lower Bound

nH3

2

nW3

2

A restricted class of plane graphs may have more compact grid drawing.

Triangulated plane graph

3-connected graph

4-connected ?

not 4-connected disconnected

How much area is required for 4-connected plane graphs?

W < n/2

H < n/2

=

=

Straight line grid drawing

Miura et al. ’01

Input: 4-connected plane graph G

Output: a straight line grid drawing Grid Size :

Area:2

,n

HW

4

2nHW

n-2

n-2

Area < 1/4=

Area=n2 Area<n /42

W < n/2

H < n/2

=

=

.. =

plane graph G 4-connected plane graph G

Schnyder ’90 Miura et al. ’01

The algorithm of Miura et al. isbest possible

2

nH

2

nW

4

2nHW

|slope|>1|slope|>1|slope|>1

Main idea

G

Step2: Divide G into two halves G’ and G”

n/2=9

G”

G’1 2

n-1=17 n=18

347

8 56

1410

15 16

1311

12

W < n/2 -1=

W/2

W/2

1

G’

G”

Step3 and 4 : Draw G’ andG” in isosceles right-angledtriangles

G

n/2

n/2 -1

Step5: Combine the drawings of G’ and G”

Triangulate all inner faces

1 2

n-1=17 n=18

347

8 56

14

910

15 16

1311

12

Step1: find a 4-canonical ordering

|slope|<1=

Straight line drawing

Convex drawing

Draw a graph G on the plane “nicely”

A convex drawing is a straight line drawing where each face is drawn as a convex polygon.

Convex drawing

Convex Drawing

Tutte 1963Every 3-connected planar graph has a convex drawing.A necessary and sufficient condition for a plane graph to have a convex drawing. Thomassen ’80

Convex drawing

Convex Drawing

Tutte 1963Every 3-connected planar graph has a convex drawingA necessary and sufficient condition for a plane graph to have a convex drawing. Thomassen ’80

Chiba et al. ’84

O(n) time algorithm

n-2

n-2

Convex Grid Drawing

Chrobak and Kant ’97

2nHW

Input: 3-connected graph

Output: convex grid drawing

Area

Grid Size

Input : 4-connected plane graph

W

H

Miura et al. 2000

Output: Convex grid drawing

1 nHW

4

2nHW

Half-perimeter

Area

Convex Grid Drawing

Grid Size

Area < 1/4=

3-connected graph 4-connected graph

Area

n-2

n-2

W

H

Area

Chrobak and Kant ’97 Miura et al. 2000

2n4

2n

W

H

The algorithm of Miura et al. isbest possible

4

2nHW

1: 4-canonical decomposition1 2

34 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 54: Decide y-coordinates

1 2 Time complexity: O(n)

916

1 2

34 5

67

8

14

21

12

13

20

10

19

11

1715

18

O(n)[NRN97]2: Find paths

3: Decide x-coordinates

Main idea

EA

B

C

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

AB

E

C

F

G

D

Interconnection graph VLSI floorplan

Dual-like graph

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

AB

E

C

F

G

D

AB

E

C

F

G

D

Interconnection graph VLSI floorplan

Dual-like graph Add four corners

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

AB

E

C

F

G

D

AB

E

C

F

G

D

Interconnection graph VLSI floorplan

Dual-like graph Add four corners

Rectangular drawing

Rectangular Drawings

Plane graph G of 3

Input

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Input Output

corner

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each vertex is drawn as a point.Input Output

corner

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each edge is drawn as a horizontal or a vertical line segment.

Each vertex is drawn as a point.Input Output

corner

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each edge is drawn as a horizontal or a vertical line segment.

Each face is drawn as a rectangle.

Each vertex is drawn as a point.Input Output

corner

Not every plane graph has a rectangular drawing.

Thomassen ’84,

Necessary and sufficient condition

Rahman, Nakano and Nishizeki ’98

Linear-time algorithms

Rahman, Nakano and Nishizeki ’02

Linear algorithm for the case where corners are not designated in advance

G

G has a rectangular drawing if and only if

2-legged cycles 3-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex.

G

G has a rectangular drawing if and only if

2-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex.

G

G has a rectangular drawing if and only if

2-legged cycles 3-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex.

G

G has a rectangular drawing if and only if

2-legged cycles 3-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex. Bad cycles

Outline of the Algorithm of Rahman et al.

Outline of the Algorithm of Rahman et al.

Outline of the Algorithm of Rahman et al.

Outline of the Algorithm of Rahman et al.

Outline of the Algorithm of Rahman et al.

Outline of the Algorithm of Rahman et al.

Bad cycle

Bad cycle

Bad cycle

Partition-pair

Partition-pair Splitting

Partition-pair

Partition-pair

Partition-pair

Rectangular drawing

Partition-pair

Rectangular drawing

Time complexity

O(n)

Miura, Haga, N. ’03, Working paper

Rectangular drawing of plane graph G with Δ ≤ 4

perfect matching in Gd

G

Gd

G

Gd perfect matching

G

G )( 5.1nO

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Rectangular drawing

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Rectangular drawing

Unwanted adjacency

Not desirable for MCM floorplanning andfor some architectural floorplanning.

A

B

E C

F

G

D

MCM FloorplanningMCM Floorplanning SherwaniSherwani

Architectural FloorplanningArchitectural Floorplanning Munemoto, Katoh, ImamuraMunemoto, Katoh, Imamura

EA

B

C

F

G

D

Interconnection graph

A

B

E C

F

G

D

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

EA

B

C

F

G

D

Interconnection graph

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

A

E

B

FG

CD

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

A

E

B

FG

CD

Box-Rectangular drawing

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

dead space

Box-Rectangular Drawing

InputPlane multigraph   G

ab

cd

Box-Rectangular Drawing

Input OutputPlane multigraph   G

ab

cd

a b

cdBox-rectangular drawing

Box-Rectangular Drawing

Input

• Each vertex is drawn as a rectangle.

Plane multigraph   G

ab

cd

a b

cd

Output

Box-rectangular drawing

Box-Rectangular Drawing

Input

• Each vertex is drawn as a rectangle.• Each edge is drawn as a horizontal or a vertical line

segment.

Plane multigraph   G

ab

cd

a b

cd

Output

Box-rectangular drawing

Box-Rectangular Drawing

Input

• Each vertex is drawn as a rectangle.• Each edge is drawn as a horizontal or a vertical line

segment.• Each face is drawn as a rectangle.

Plane multigraph   G

ab

cd

a b

cd

Output

Box-rectangular drawing

A necessary and sufficient condition for a plane multigraph to have a box-rectangular drawing.

A linear-time algorithm.

Rahman et al. 2000

2 mHW , where m is the number of edges in G.

W

H

a b

cd

Algorithm of Rahman et al.

Main Idea: Reduction to a rectangular drawing problem

G

Outline

G

Outline

G

Replace each vertex of degree four or more by a cycle

G

Outline

G linear time[RNN98a]

Rectangular drawing

G

Outline

G linear time[RNN98a]

Box-rectangular drawing

G

Outline

G linear time[RNN98a]

Box-rectangular drawing

Time complexity

O(n)

Orthogonal Drawings

Input

plane graph Ga b

c

d

efg

h

i

Orthogonal Drawings

Input Output plane graph G

a bc

d

efg

h

i

a bc

def

gh

i

Orthogonal Drawings

Each edge is drawn as an alternating sequence of horizontal and vertical line segments.

Input Output plane graph G

bends

a bc

d

efg

h

i

a bc

def

gh

i

Orthogonal Drawings

Each edge is drawn as an alternating sequence of horizontal and vertical line segments.Each vertex is drawn as a point.

Input Output plane graph G

bend

a bc

d

efg

h

i

a bc

def

gh

i

Applications

Entity-relationship diagramsFlow diagrams

Applications

Circuit schematics

Minimization of bends reduces the number of “vias” or “throughholes,” and hence reduces VLSI fabrication costs.

plane graph Ga b

c

d

efg

h

i

a bc

def

gh

iObjectiveObjective

4 bends

de

a b c

fg

hi

minimum number of bends.

9 bend

To minimize the number of bends in an orthogonal drawing.

Garg and Tamassia ’96

O n n( log )/ /7 4 1 2 time for plane graph of Δ ≤4

Idea reduction to a minimum cost flow problem

for 3-connected cubic plane graph Idea reduction to a rectangular drawing problem.

Rahman, Nakano and Nishizeki ’99

Bend-Minimum Orthogonal Drawing

Linear

Rahman and Nishizeki ’02

Linear for plane graph of Δ≤3

Outline of the algorithm of [RNN99]

G G

1C

2Ca

bc

dG

)( 1CG

)( 2CG

a

b

c

d

orthogonal drawings

b

rectangular drawing of G

a

cd

orthogonal drawing of G

a b

cd

Open Problems and Future Research Direction

More area-efficient straight-line or convex drawing algorithms.

Prescribed face areas

Prescribed length of some edgesPrescribed positions of some vertices

Practical Applications

Linear algorithm for rectangular drawings of plane graphs of Δ ≤4.

Drawing of plane graphs with constraints like

2

3

2

nHW for every planar graph?

Linear algorithm for bend-minimal orthogonal drawings of plane graphs of Δ ≤4.

Book

Planar Graph Drawing

by

Takao NishizekiMd. Saidur Rahman

http://www.nishizeki.ecei.tohoku.ac.jp/nszk/saidur/gdbook.html

Book

Planar Graph Drawing

by

Takao NishizekiMd. Saidur Rahman

http://www.nishizeki.ecei.tohoku.ac.jp/nszk/saidur/gdbook.html

ISAAC in Sendai, Tohoku

Probably 2007

SendaiKyoto

Tokyo

Properties of a drawing of G(C)

minimum number of bendsthe six open halflines are free

G(C)

orthogonal drawing of G(C)

x

yz

x

yz

Main idea

   4-canonical decomposition1 2

3

4 5

67 8

9

1011 12

131415

16

1718 19

20 21

Main idea

   4-canonical decomposition1 2

3

4 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 5

1 21 2

3

4 5

67 8

9

10

20 21

Add a group of vertices one by one.

Add a group of vertices one by one.

Main idea

   4-canonical decomposition1 2

3

4 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 5

1 2

1:4-canonical decomposition1 2

34 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 54: Decide y-coordinates

1 2 Time complexity: O(n)

916

1 2

34 5

67

8

14

21

12

13

20

10

19

11

1715

18

O(n)[NRN97]2: Find paths

3: Decide x-coordinates

Main idea

U3

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Uk

Uk

Uk

U12

U11

U10

U9

U8

U7

U6U5

U4

U2

4-canonical decomposition[NRN97]

U1

(a generalization of st-numbering)

G

U3

4-canonical decomposition[NRN97](a generalization of st-numbering)

Gk -1

Gk

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

U12

U11

U10

U9

U8

U7

U6U5

U4

U3

U2

4-canonical decomposition[NRN97]

U1

(a generalization of st-numbering)

U9

4-canonical decomposition[NRN97](a generalization of st-numbering)

Gk -1

Gk

face

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

U12

U11

U10

U9

U8

U7

U6U5

U4

U3

U2

4-canonical decomposition[NRN97]

U1

(a generalization of st-numbering)

U5

4-canonical decomposition[NRN97](a generalization of st-numbering)

Gk -1

Gk

face

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

U1

U12

U11

U10

U9

U8

U7

U6U5

U4

U3

U2

4-canonical decomposition[NRN97]

1 2

3

4 5

67

89 10

11

1213 1415

16

1718 19

20 n = 21

(a generalization of st-numbering)

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Uk

Uk

Uk

G

O(n)

Orthogonal Drawings

Each edge is drawn as an alternating sequence of horizontal and vertical line segments.

Each vertex is drawn as a point.

ApplicationsApplicationsCircuit schematics, Data-flow diagrams, Entity-relationship diagrams [T87, BK97].

ObjectiveObjectiveTo minimize the number of bends in an orthogonal drawing.

Input Output plane graph G

an orthogonal drawing with the minimum number of bends.

9 bends

4 bends

a bc

d

efg

h

i

a bc

def

gh

i

de

a b c

fghi

Known ResultKnown ResultGarg and Tamassia [GT96]O n n( log )/ /7 4 1 2

time algorithm for finding an orthogonal drawing of a plane graph of Δ ≤4 with the minimum number of bends.

Idea reduction to a minimum cost flow problem

A linear time algorithm to find an orthogonal drawing of a 3-connected cubic plane graph with the minimum number of bends.

Idea reduction to a rectangular drawing problem.

Rahman, Nakano and Nishizeki [RNN99]

A linear time algorithm to find an orthogonal drawing of a plane graph of Δ≤3 with the minimum number of bends.

Idea reduction to a no-bend drawing problem.

Rahman and Nishizeki [RN02]

Outline of the algorithm of [RNN99]

G G G

)( 1CG

)( 2CG

1C

2C

rectangular drawing of

G orthogonal drawings

orthogonal drawing of G

Properties of a drawing of G(C)

minimum number of bendsthe six open halflines are free

G(C)

orthogonal drawing of G(C)

a

bc

d

a

bc

d

ab

cd

a b

cd

x

yz

x

yz

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each edge is drawn as a horizontal or a vertical line segment.

Each face is drawn as a rectangle.

Each vertex is drawn as a point.Input Output

corner

Not every plane graph has a rectangular drawing.

Thomassen [84], Rahman, Nakano and Nishizeki [02]

A necessary and sufficient condition.Rahman, Nakano and Nishizeki [98, 02]

A linear time algorithm

Rectangular Drawing Algorithm of [RNN98]

Splitting

Partition-pairInput

rectangular drawing of each subgraph

Partition-pair

Modification of drawingspatching

Rectangular Drawings

Box-Rectangular Drawing

Input Output• Each vertex is drawn as a (possibly degenerated) rectangle on an

integer grid.• Each edge is drawn as a horizontal or a vertical line segment along grid

line without bend.• Each face is drawn as a rectangle.

Rahman, Nakano and Nishizeki [RNN00]A necessary and sufficient condition.

A linear-time algorithm.

Plane multigraph

Reduce the problem to a rectangular drawing problem.

Conclusions

We surveyed the recent algorithmic results on various drawings of plane graphs.

Open Problems

Rectangular drawings of plane graphs of Δ ≤ 4.

Efficient algorithm for bend-minimal orthogonal drawings of plane graphs of Δ ≤ 4

Parallel algorithms for drawing of plane graphs.

1

2

3

4

5

678

9

10

1112

1314

1516

17

12

3

4

5

6

7

89

1017

1112

13

14

1516

Application VLSI floorplanning

Interconnection Graph Floor plan

1

23

4

5

6789

10

11 12

13

14

1516

17

1

23

4

5

6789

10

11 12

13

14

1516

17

Dual-like graph Insertion of four corners

1

2

3

4

5

678

9

10

1112

1314

1516

17

12

3

4

5

6

7

89

1017

1112

13

14

1516

Application VLSI floorplanning

Interconnection Graph Floor plan

st-numbering[E79](2-connected graph )

(1) (1,n) is an edge of G(2) Each vertex k, 2 < k < n-1, has at least one neighbor and at least one upper neighbor

1 2

n=12

3

4

78

5

6

10

11

9

= =

1 2

3

47

8 56

1410

1516

1311

12

9

Step 1: 4-canonical ordering [KH97] (4-connected graph)

(1) (1,2) and (n,n-1) are edges on the outer face

(2) Each vertex k, 3 < k < n-2, has at least two lower neighbors and has at least two upper neighbors

n-1=17 n=18

= =

(a generalization of st-numbering)

G’’

G’ |V’|= n/2

|V”|= n/2

Step 2:   Divide G into G’and G”

1 2

n-1=17 n=18

3

47

8 56

1410

1516

1311

12

n/2 =9

Step 3:   Draw G’ in an isosceles right-angled triangle

G

1 2

347

8 56

9

G’ |V’|= n/2

|slope| < 1 =

1 2

|slope| > 1

1 2

W/2

W < n/2 -1=

G

1 2

347

8 56

9

G’ |V’|= n/2

1 :外周上の辺の傾きは高々 12 :外周上で点 1 から 2 へ時計回りに進む道の描画は x- 単調

| 外周上の辺の傾き | < 1 =

x- 単調

1 2| 外周上の辺の傾き | > 1

x- 単調ではない

1 2

Step 3:   Draw G’ in an isosceles right-angled triangle

shift and put k

各点の座標の決め方

1 2

3

G3Initialization :

k

Gk

1 :外周上の辺の傾きは高々 12 :外周上で点 1 から 2 へ時計回りに進む道の描画は x- 単調

各点 k, 4 < k < n/2 = =

k

Gk -1

The drawing of the path passing through all k’s neighbors is “weakly convex”

k

k

“weakly convex”

not “weakly convex”

k

Gk -1

Case 1 : k has exactly one highest neighbor

shift and put k

Gk

k

The rightmost neighbor of k is higher than the leftmost neighbor

shift and put k

k

Gk

k

Gk -1

The rightmost neighbor of k is higher than the leftmost neighbor

Case 2 : k has exactly two or more highest neighbor

Drawing of G’

1 2

3

G3

shift

Drawing of G’

+4

Drawing of G’

shift

Drawing of G’

+5

Drawing of G’

shift

Drawing of G’

+6

Drawing of G’

shift

Drawing of G’

+7

Drawing of G’

shift

Drawing of G’

+8

Drawing of G’

shift

Drawing of G’

+9

Drawing of G’

G’

H’ <W’/2=( n/2 -1)2=

W’ < n/2 -1=

Shift one time for each vertex

Drawing of G’

G’

G”

W < n/2 -1

W/2

W/2

1

=

Step 5: Combine the drawing of G’ and G”

Step 5: Combine the drawing of G’ and G”

G’

G”

W < n/2 -1

W/2

W/2

1

=

| 辺の傾き |>1

| 外周上の辺の傾き | < 1 =

| 外周上の辺の傾き | < 1 =

G’

G”

| 辺の傾き |>1

Step 5: Combine the drawing of G’ and G”

x- 単調

G’

G”

Step 5: Combine the drawing of G’ and G”

G’

G”

W < n/2 -1

W/2

W/2

1

=

G

W < n/2 -1

H< n/2

=

=

Step 5: Combine the drawing of G’ and G”

W = n/2 -1

H = n/2

Output: a straight line grid drawing Grid Size :

(W +H < n-1) W < n/2 -1, H < n/2

== =

Area: W x H < = ( )n -12

2 W < n/2 -1

H < n/2

=

=

Input: 4-connected plane graph G

The algorithm isbest possible

Miura et al. ‘01

ObjectiveObjective

To minimize the number of bends in an orthogonal drawing.

an orthogonal drawing with the minimum number of bends.

4 bends

de

a b c

fg

hi

9 bends

a bc

def

gh

i

top related