Drawing Plane Graphs Takao Nishizeki Tohoku University
Jan 14, 2016
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