Hsinchu city and Sendai city Sendai city Only

  • Slides: 160
Download presentation

Hsinchu city and Sendai city 新竹 仙台 Sendai city 仙台 Only 2400 km Tokyo

Hsinchu city and Sendai city 新竹 仙台 Sendai city 仙台 Only 2400 km Tokyo 東京 Hsinchu city 新竹

Tohoku University(東北大学) Tohoku University was established in 1907. 春 夏 秋 冬

Tohoku University(東北大学) Tohoku University was established in 1907. 春 夏 秋 冬

Lu Xian and Prof. Fujino Book Cover 1 st page

Lu Xian and Prof. Fujino Book Cover 1 st page

GSIS, Tohoku University Graduate School of Information Sciences (GSIS), Tohoku 情報科学研究科 University, was established

GSIS, Tohoku University Graduate School of Information Sciences (GSIS), Tohoku 情報科学研究科 University, was established in 1993. 150 Faculties 450 students Math. Computer Science Robotics Transportation Economics Human Social Sciences Interdisciplinary School

Book

Book

Prescribed-Area Octagonal Drawing Input Plane graph

Prescribed-Area Octagonal Drawing Input Plane graph

Prescribed-Area Octagonal Drawing A 46 E 23 G 19 F 8 H 37 I

Prescribed-Area Octagonal Drawing A 46 E 23 G 19 F 8 H 37 I 12 J 14 K 27 D 56 B 65 C 11 Input Plane graph A real number for each inner face

Prescribed-Area Octagonal Drawing A 46 E 23 A 46 G 19 F 8 H

Prescribed-Area Octagonal Drawing A 46 E 23 A 46 G 19 F 8 H 37 I 12 J 14 K 27 D 56 B 65 F 8 E 23 H 37 C 11 Input Plane graph A real number for each inner face G 19 I 12 J 14 B 65 K 27 D 56 C 11 Output Prescribed-area octagonal drawing

Prescribed-Area Octagonal Drawing A 46 E 23 A 46 G 19 F 8 H

Prescribed-Area Octagonal Drawing A 46 E 23 A 46 G 19 F 8 H 37 I 12 J 14 K 27 D 56 Input B 65 F 8 E 23 C 11 H 37 G 19 I 12 J 14 B 65 K 27 D 56 C 11 Output Each inner face is drawn as a rectilinear polygon of at most eight corners. The outer face is drawn as a rectangle. Each face has its prescribed area.

Prescribed-Area Octagonal Drawing A 46 E 23 A 46 G 19 F 8 H

Prescribed-Area Octagonal Drawing A 46 E 23 A 46 G 19 F 8 H 37 I 12 J 14 K 27 D 56 Input B 65 F 8 E 23 C 11 H 37 G 19 I 12 J 14 B 65 K 27 D 56 C 11 Output Each inner face is drawn as a rectilinear polygon of at most eight corners. The outer face is drawn as a rectangle. Each face has its prescribed area.

Applications VLSI Floorplanning Obtained by subdividing a given rectangle into smaller rectangles. Each smaller

Applications VLSI Floorplanning Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module. Each module has area requirements.

Applications VLSI Floorplanning 2 1 1 2 Area requirements cannot be satisfied if each

Applications VLSI Floorplanning 2 1 1 2 Area requirements cannot be satisfied if each module is allowed to be only a rectangle. Area requirements can be satisfied if each module is allowed to be a simple rectilinear polygon. It is desirable to keep the shape of each rectilinear polygon as simple as possible.

Our Results G: a good slicing graph O(n) time algorithm.

Our Results G: a good slicing graph O(n) time algorithm.

Slicing Floorplan A slicing floorplan can be obtained by repeatedly subdividing rectangles horizontally or

Slicing Floorplan A slicing floorplan can be obtained by repeatedly subdividing rectangles horizontally or vertically.

Slicing Floorplan and Slicing Graph corner Slicing Floorplan Not a Slicing Floorplan Slicing Graph

Slicing Floorplan and Slicing Graph corner Slicing Floorplan Not a Slicing Floorplan Slicing Graph Not a Slicing Graph

Slicing Tree

Slicing Tree

Slicing Tree P 1

Slicing Tree P 1

Slicing Tree P 1 : V P 1 root

Slicing Tree P 1 : V P 1 root

Slicing Tree P 1 : V root P 1 Right subgraph becomes right subtree

Slicing Tree P 1 : V root P 1 Right subgraph becomes right subtree Left subgraph becomes left subtree

Slicing Tree P 1 : V P 2 root

Slicing Tree P 1 : V P 2 root

Slicing Tree P 1 : V P 2 root P 2 : V

Slicing Tree P 1 : V P 2 root P 2 : V

Slicing Tree P 1 : V P 3 root P 2 : V

Slicing Tree P 1 : V P 3 root P 2 : V

Slicing Tree P 1 : V P 3 root P 2 : V P

Slicing Tree P 1 : V P 3 root P 2 : V P 3 : H

Slicing Tree P 1 : V P 3 root P 2 : V P

Slicing Tree P 1 : V P 3 root P 2 : V P 3 : H Upper subgraph becomes right subtree Lower subgraph becomes left subtree

root Slicing Tree f 8 P 2 : V P 8 : H f

root Slicing Tree f 8 P 2 : V P 8 : H f 1 f 6 f 9 f 10 P 1 : V f 2 f 4 f 7 f 3 f 5 P 9 : H f 10 f 9 P 3 : H P 7 : H f 8 f 7 f 6 f 1 P 4 : H P 5 : V f 5 P 6 : H f 4 f 3 f 2

Good Slicing Graph P 1 : V PN f 8 P 1 P 8

Good Slicing Graph P 1 : V PN f 8 P 1 P 8 f 6 PW f 9 P 9 f 10 P 7 P 2 f 1 P 3 P E P 5 f 2 f 4 f P 6 3 P 4 f 7 P 2 : V P 8 : H P 9 : H f 10 f 9 P 3 : H P 7 : H f 8 f 7 f 5 PS A slicing tree is good if each horizontal slice is a face path. f 6 f 1 P 4 : H P 5 : V f 5 P 6 : H f 4 f 3 f 2

Three face paths On a boundary of a single face

Three face paths On a boundary of a single face

Not a face path

Not a face path

Good Slicing Graph f 8 P 1 P 8 f 6 f 9 P

Good Slicing Graph f 8 P 1 P 8 f 6 f 9 P 9 f 10 P 7 f 7 P 2 f 1 P 3 P 5 f 2 f 4 f 3 P 6 P 4 f 5 P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 9 P 3 : H P 7 : H f 8 f 7 A slicing tree is good if each horizontal slice is a face path. f 6 f 1 P 4 : H P 5 : V f 5 P 6 : H f 4 f 3 f 2

Good Slicing Graph f 8 P 1 P 8 f 6 f 9 P

Good Slicing Graph f 8 P 1 P 8 f 6 f 9 P 9 f 10 P 7 f 7 P 2 f 1 P 3 P 5 f 2 f 4 f 3 P 6 P 4 f 5 P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 9 P 3 : H P 7 : H f 8 f 7 f 6 P 5 : V f 5 A slicing tree is good if each horizontal slice is a face path. We call a graph a good slicing graph if it has a good slicing tree. f 1 P 4 : H P 6 : H f 4 f 3 f 2

Good Slicing Graph Cannot be vertically sliced Can be vertically sliced For a horizontal

Good Slicing Graph Cannot be vertically sliced Can be vertically sliced For a horizontal slice, at least one of the upper subgraph and the lower subgraph cannot be vertically sliced.

Not every slicing graph is a good slicing graph.

Not every slicing graph is a good slicing graph.

P 1 : V Input P 2 : V P 8 : H f

P 1 : V Input P 2 : V P 8 : H f 8 P 1 P 8 f 6 f 9 P 7 P 9 f 10 f 7 P 2 f 1 P 3 P 5 f 2 f 4 f 3 P 6 P 4 f 5 P 9 : H f 10 f 9 P 3 : H P 7 : H f 8 f 7 f 6 P 5 : V f 5 A Good Slicing Graph A Good Slicing Tree f 1 P 4 : H P 6 : H f 4 f 3 f 2

Output A 46 F 8 Prescribed-area Octagonal drawing E 23 H 37 G 19

Output A 46 F 8 Prescribed-area Octagonal drawing E 23 H 37 G 19 I 12 J 14 B 65 K 27 D 56 Each inner face is drawn as a rectilinear polygon with at most eight corners. Particularly, each inner face is drawn as a rectilinear polygon of the following nine shapes. C 11

8 corners Octagons 6 corners 4 corners

8 corners Octagons 6 corners 4 corners

Octagons A 46 F 8 E 23 H 37 G 19 I 12 J

Octagons A 46 F 8 E 23 H 37 G 19 I 12 J 14 B 65 K 27 D 56 C 11

Do not appear

Do not appear

Feasible Octagons of nine shapes must satisfy some conditions on size

Feasible Octagons of nine shapes must satisfy some conditions on size

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 9 P 3 : H P 7 : H f 8 f 7 Depth-first search First traverse root Then traverse the right subtree Finally, traverse the left subtree f 6 f 1 P 4 : H P 5 : V f 5 P 6 : H f 4 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 P 1 f 8 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 P 1 f 8 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 9 P 2 f 8 f 9 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 9 f 10 f 2 f 4 f 7 f 6 P 3 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 7 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 9 f 10 f 2 f 4 f 7 f 6 P 3 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 7 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 10 f 2 f 4 f 7 f 3 f 5 f 6 P 5 : V P 6 : H f 4 P 4 f 1 P 4 : H f 5 f 1 f 6 f 9 f 7 f 9 P 3 : H P 7 : H f 8 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm P 1 : V P 2 : V P 8 : H P

Algorithm P 1 : V P 2 : V P 8 : H P 9 : H f 10 f 8 f 10 f 2 f 4 f 7 f 6 f 1 P 4 : H P 5 : V f 5 f 1 f 6 f 9 P 3 : H P 7 : H f 8 P 6 : H f 4 f 3 f 5 f 3 f 2

Algorithm Initialization at root

Algorithm Initialization at root

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area A(G): sum of the prescribed areas of all inner faces in G.

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area A(G): sum of the prescribed areas of all inner faces in G.

Algorithm Initialization at root 5 9 15 8 Draw the outer cycle as an

Algorithm Initialization at root 5 9 15 8 Draw the outer cycle as an arbitrary rectangle of area A(G): sum of the prescribed areas of all inner faces in G.

Algorithm Initialization at root W = 23 A(G): sum of the prescribed areas of

Algorithm Initialization at root W = 23 A(G): sum of the prescribed areas of all inner faces in G. 5 9 15 8 Draw the outer cycle as an arbitrary rectangle of area A(G). H = 20

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area A(G): sum of the prescribed areas of all inner faces in G. Fix arbitrarily the position of vertices on the right side of the rectangle preserving their relative positions.

Algorithm Operation at root Root : vertical slice w Pr : V Pw :

Algorithm Operation at root Root : vertical slice w Pr : V Pw : V Pr A(G) A(Gw) A(Gv) r v Pv : V

Algorithm Operation at root Root : vertical slice w Pr : V Pw :

Algorithm Operation at root Root : vertical slice w Pr : V Pw : V r v Pv : V

Algorithm Operation at root Root : vertical slice w Pr : V Pw :

Algorithm Operation at root Root : vertical slice w Pr : V Pw : V r v Pv : V

Algorithm Operation at root Root : vertical slice w Pr : V Pw :

Algorithm Operation at root Root : vertical slice w Pr : V Pw : V r v Pv : V

Algorithm Operation at root Root : vertical slice w Pr : V Pw :

Algorithm Operation at root Root : vertical slice w Pr : V Pw : V r v Pv : V

Algorithm Operation at root Root : vertical slice w Pr : V Pw :

Algorithm Operation at root Root : vertical slice w Pr : V Pw : V r v Pv : V

Algorithm Operation at root Root : horizontal slice A(Gv) A(Gw) w Pr : H

Algorithm Operation at root Root : horizontal slice A(Gv) A(Gw) w Pr : H Pw : V R r v Pv : V

Algorithm Operation at root Root : horizontal slice A(Gv) w A(Gv) Pr : H

Algorithm Operation at root Root : horizontal slice A(Gv) w A(Gv) Pr : H Pw : V r Pv : V R A(Gw) Case 1: v A(Gv) = A(R)

Algorithm Operation at root Root : horizontal slice A(Gv) A(Gw) A(Gv) R A(Gw) Case

Algorithm Operation at root Root : horizontal slice A(Gv) A(Gw) A(Gv) R A(Gw) Case 2: A(Gv) > A(R)

Algorithm Case 3: A(Gv) < A(R) Operation at root Root : horizontal slice A(Gv)

Algorithm Case 3: A(Gv) < A(R) Operation at root Root : horizontal slice A(Gv) A(Gw) Case 2: A(Gv) > A(R)

Algorithm Case 3: A(Gv) < A(R) Operation at root Root : horizontal slice A(Gv)

Algorithm Case 3: A(Gv) < A(R) Operation at root Root : horizontal slice A(Gv) 6 corners A(Gv) A(Gw) Case 2: A(Gv) > A(R)

6 corners 8 corners Polygon of exactly 8 corners may appear when a horizontal

6 corners 8 corners Polygon of exactly 8 corners may appear when a horizontal slice is embedded inside a polygon of 6 corners.

General computation at an internal node Vertical slice Pu : V w Pw :

General computation at an internal node Vertical slice Pu : V w Pw : V u v Pv : V Feasible Octagon Ru

General computation at an internal node Vertical slice Pr : V w Pw :

General computation at an internal node Vertical slice Pr : V w Pw : V Fixed u v Pv : V Feasible Octagon Ru

General computation at an internal node Vertical slice Pr : V w Pw :

General computation at an internal node Vertical slice Pr : V w Pw : V u Fixed Face v Pv : V Feasible Octagon Ru

General computation at an internal node Vertical slice Pr : V w Pw :

General computation at an internal node Vertical slice Pr : V w Pw : V u v Pv : V Feasible Octagon Ru Embed the slicing path in Ru

General computation at an internal node Vertical slice Pr : V w Pw :

General computation at an internal node Vertical slice Pr : V w Pw : V u v Pv : V Feasible Octagon Ru Feasible Octaon Rw Feasible Octagon Rv

Horizontal slice A(Gv ) A(Gw) 10 corners A(Gv) Large A(Gw)

Horizontal slice A(Gv ) A(Gw) 10 corners A(Gv) Large A(Gw)

Pu 10 corners Ru very small foot-lenght A(Gv)

Pu 10 corners Ru very small foot-lenght A(Gv)

f Pu Ru very small foot-lenght number of inner faces in G

f Pu Ru very small foot-lenght number of inner faces in G

f Pu number of inner faces in G Amin A 46 Ru E 23

f Pu number of inner faces in G Amin A 46 Ru E 23 very small foot-lenght F 8 H 37 D 56 Input G 19 I 12 J 14 K 27 B 65 C 11 Amin = 8

f number of inner faces in G Pu H height of initial rectangle Rr

f number of inner faces in G Pu H height of initial rectangle Rr Ru very small foot-lenght H=20 A(Rr ) = A(G) Input at root Rr

f number of inner faces in G Pu Amin Ru E 23 A 46

f number of inner faces in G Pu Amin Ru E 23 A 46 F 8 H 37 D 56 G 19 I 12 J 14 K 27 very small foot-lenght Input B 65 C 11 Amin = 8 H=20 A(Rr ) = A(G)

f Pu Ru very small foot-lenght number of inner faces in G

f Pu Ru very small foot-lenght number of inner faces in G

large enough East side Ru very small foot-lenght

large enough East side Ru very small foot-lenght

large enough East side Ru very small foot-lenght The number of inner faces each

large enough East side Ru very small foot-lenght The number of inner faces each of which has an edge on the east side.

Computation at a leaf node PN P W PN P E PS P W

Computation at a leaf node PN P W PN P E PS P W P E PS

Time Complexity Overall time complexity is linear.

Time Complexity Overall time complexity is linear.

Conclusion We have presented a linear algorithm for prescribed area octagonal drawings of good

Conclusion We have presented a linear algorithm for prescribed area octagonal drawings of good slicing graphs. We also give a sufficient condition for a graph of maximum degree 3 to be a good slicing graph and give a linear-time algorithm to find a good slicing tree of such graphs. Obtaining such an algorithm for larger classes of graphs is our future work.

A sufficient condition for a good slicing graph A good slicing tree can be

A sufficient condition for a good slicing graph A good slicing tree can be found in linear time for a cyclically 5 -edge connected plane cubic graph.

Cyclically 5 -edge Connected Cubic Plane Graphs X X Removal of any set of

Cyclically 5 -edge Connected Cubic Plane Graphs X X Removal of any set of less than 5 -edges leaves a graph such that exactly one of the connected components has a cycle.

Not cyclically 5 -edge connected X X Two connected components having cycles. X X

Not cyclically 5 -edge connected X X Two connected components having cycles. X X No connected component has a cycle.

A sufficient condition for a good slicing graph Any graph G obtained from a

A sufficient condition for a good slicing graph Any graph G obtained from a cyclically 5 edge connected plane cubic graph by inserting four vertices of degree 2 on outer face is a good slicing graph.

Augmentation

Augmentation

Augmentation

Augmentation

Algorithm Initialization at root

Algorithm Initialization at root

PE Ru large If a large number of inner faces have edges on PE

PE Ru large If a large number of inner faces have edges on PE then foot-lengh should be large enough. Dimensions of Ru play crucial roles.

Dimensions of a Feasible Octagon ?

Dimensions of a Feasible Octagon ?

lt lb

lt lb

lt f number of inner faces in G The number of inner faces each

lt f number of inner faces in G The number of inner faces each of which has an edge on the east side. a positive constant. lb

Aminl t A 46 E 23 F 8 f H 37 G 19 B

Aminl t A 46 E 23 F 8 f H 37 G 19 B J I 65 number 12 14 of inner D 56 Input K 27 faces in G C The 11 number of inner faces each of which has an edge on the Aeast =8 min side. a positive constant. lb

l. Ht height of initial rectangle Rr f number of inner H=20 faces in

l. Ht height of initial rectangle Rr f number of inner H=20 faces in G A(Rr ) = A(G) The number of inner faces each of which has an edge on the east side. Input at root Rr a positive constant. lb

Amin A 46 E 23 lt F 8 H 37 D 56 Input G

Amin A 46 E 23 lt F 8 H 37 D 56 Input G 19 I 12 J 14 K 27 B 65 C 11 Amin = 8 f H=20 number of inner faces in G A(Rr ) = A(G) The number of inner faces each of which has an edge on the east side. a positive constant. lb

Amin A 46 E 23 F 8 H 37 D 56 Input G 19

Amin A 46 E 23 F 8 H 37 D 56 Input G 19 I 12 J 14 K 27 B 65 C 11 Amin = 8 H=20 A(Rr ) = A(G)

Amin A 46 E 23 F 8 H 37 D 56 Input G 19

Amin A 46 E 23 F 8 H 37 D 56 Input G 19 I 12 J 14 K 27 B 65 C 11 Amin = 8 H=20 A(Rr ) = A(G)

H height of initial rectangle Rr H=20 A(Rr ) = A(G) Input at root

H height of initial rectangle Rr H=20 A(Rr ) = A(G) Input at root Rr

lt a b l<fδ d c lb

lt a b l<fδ d c lb

ltu a l<fδ b d Red area < lu H < f δH <

ltu a l<fδ b d Red area < lu H < f δH < Amin c lbu

A(Gv ) A(Gw) A(Gv) Large A(Gw) This situation does not occur.

A(Gv ) A(Gw) A(Gv) Large A(Gw) This situation does not occur.

lb lb

lb lb

lb lb for a facial octagon whose x. S 1 is convex.

lb lb for a facial octagon whose x. S 1 is convex.

General computation at an internal node Pr : V w Pw : V u

General computation at an internal node Pr : V w Pw : V u v Pv : V Feasible Octagon Ru Feasible Octagon Rw Feasible Octagon Rv

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all internal nodes can be computed in linear time. With an O(n) time preprocessing, embedding of the slicing path at each internal node takes constant time. Computation time at a leaf node is proportional to the number of non-corner vertices on the west side of the face. Overall time complexity is linear.

Conclusion We have presented a linear algorithm for prescribed area octagonal drawings of good

Conclusion We have presented a linear algorithm for prescribed area octagonal drawings of good slicing graphs. Obtaining such an algorithm for larger classes of graphs is our future works.

l<fδ PN a PW R u x. N 1 ltu b x. N 2

l<fδ PN a PW R u x. N 1 ltu b x. N 2 PE x. S 1 d PS x. S 1 c lbu

If the octagon is a rectangle ltu = 0 lbu = 0 lu =

If the octagon is a rectangle ltu = 0 lbu = 0 lu = 0

Feasible Octagon Ru is a feasible octagon if Ru satisfies the following eight conditions

Feasible Octagon Ru is a feasible octagon if Ru satisfies the following eight conditions (i) A(Ru) =A(Gu) (ii) lu < fδ (iii) if x. N 2 is a convex corner then (iv) if x. S 1 is a convex corner then (v) if both x. N 2 and x. S then

(vi) if both x. N 1 and x. S 1 are concave corners then

(vi) if both x. N 1 and x. S 1 are concave corners then (vii) if x. N 2 is a concave corner then (viii) if x. S 1 is a concave corner then

P 1 : V (i) A(Ru) =A(Gu) P 8 : H PN f 8

P 1 : V (i) A(Ru) =A(Gu) P 8 : H PN f 8 P 1 P 8 f 6 PW f 9 P 9 f 10 P 7 P 2 : V P 2 f 1 P 3 P E P 5 f 2 f 4 f P 6 3 P 4 f 7 f 9 f 5 PS P 3 : H P 7 : H f 8 P 9 : H f 10 u f 7 f 6 P 5 : V f 5 Ru f 1 P 4 : H P 6 : H f 4 f 3 f 2

(iii) if x. N 2 is a convex corner then x. N 2 x.

(iii) if x. N 2 is a convex corner then x. N 2 x. N 1 l tu x. N 1 ltu for a facial octagon whose x. N 2 is convex.

(vi) if x. S 1 is a convex corner then xs 2 xs 1

(vi) if x. S 1 is a convex corner then xs 2 xs 1 lbu xs 2 lbu xs 1 for a facial octagon whose x. S 1 is convex.

(v) if both x. N 2 and x. S 2 are concave corners then

(v) if both x. N 2 and x. S 2 are concave corners then x. N 1 x. N 2 xs 1 lbu - ltu

(v) if both x. N 2 and x. S 2 are concave corners then

(v) if both x. N 2 and x. S 2 are concave corners then x. N 1 xs 2 xs 1 x. N 2 lbu - ltu for a facial octagon whose x. N 2 and x. S 2 are concave

(vi) if both x. N 1 and x. S 1 are concave corners then

(vi) if both x. N 1 and x. S 1 are concave corners then lbu - ltu for a facial octagon whose x. N 1 and x. S 1 are concave

General computation at an internal node Pr : V w Pw : V u

General computation at an internal node Pr : V w Pw : V u v Pv : V Feasible Octagon Ru Feasible Octagon Rw Feasible Octagon Rv

Embedding of a vertical slicing path N a PW x. N 1 Ru x.

Embedding of a vertical slicing path N a PW x. N 1 Ru x. N 2 x. S 1 d PS x. S 1 b PE c

PN (ii) a lu < f δ PW R u Red area < lu

PN (ii) a lu < f δ PW R u Red area < lu H < f δH < Amin d The vertical slicing path is always embedded as a vertical line segment. x. N 1 ltu b x. N 2 PE x. S 1 PS x. S 1 c lbu

Embedding of a vertical slicing path N a Rv is a feasible octagon since

Embedding of a vertical slicing path N a Rv is a feasible octagon since Ru is a feasible octagon. PW x. N 1 x. N 2 Rw Rv x. S 1 Rw is a rectange d which is a feasible octagon. PS x. S 1 b PE c

Embedding of a horizontal slicing path (v) if both x. N 2 and x.

Embedding of a horizontal slicing path (v) if both x. N 2 and x. S 2 are concave corners then x. N 1 Rv Rw Ru x. N 2 xs 1 Both Rv and Rw are feasible octagons. We can prove for other cases.

Computation at a leaf node x PN P W PN P E PS P

Computation at a leaf node x PN P W PN P E PS P W P E PS

Algorithm Octagonal-Draw S 1 : V S 2 : V S 8 : H

Algorithm Octagonal-Draw S 1 : V S 2 : V S 8 : H S 9 : H f 10 f 9 S 3 : H S 7 : H f 8 f 7 f 6 S 5 : V f 5 Reverse preorder traversal from root f 1 S 4 : H S 6 : H f 4 f 3 f 2

Intuitively Pu Ru We call Ru a feasible octagon if Pu can embedded A(Gv

Intuitively Pu Ru We call Ru a feasible octagon if Pu can embedded A(Gv ) successfully irrespective of size of A(Gv). very small Pu can be embedded successfully although A(Gv) is very large. Dimensions of Ru play crucial roles.

PN PW G x PE PS

PN PW G x PE PS

P N Algorithm S 1 : V S 8 : H f 10 f

P N Algorithm S 1 : V S 8 : H f 10 f 9 f 7 G S 3 : H S 7 : H f 8 S 9 : H P W S 2 : V f 6 P E f 1 S 4 : H Input at root S 5 : V f 5 S 6 : H f 4 f 3 PS f 2

Computation at a V-node x Let y be the right child of x and

Computation at a V-node x Let y be the right child of x and z be left child of x. Px Px Rz Rz Rz Ry (a) (b) A face in Rz may need to be drawn with more than eight corners. Rz Rz Ry Ry (c) Px Px Px Ry Ry (d) (e)

Foot Length lx of an Octagon Rx PN PW G tx x PE PS

Foot Length lx of an Octagon Rx PN PW G tx x PE PS lx = max {tx, bx} bx

The number of inner faces in Gu each of which has an edge on

The number of inner faces in Gu each of which has an edge on the east side. PN a PW R u x. N 1 ltu b x. N 2 a positive constant. PE x. S 1 d f H PS x. S 1 c number of inner faces in G height of initial rectangle Rr lbu

If the footlength of Rx is resonably small then Rz will always be drawn

If the footlength of Rx is resonably small then Rz will always be drawn as a rectngle. Px Px Rz Rz Rz Ry Ry Rz Rz Ry Px Px Px Ry Ry

Maximum foot length PN P W P E lmax PS f : number of

Maximum foot length PN P W P E lmax PS f : number of faces in G G Neck Length d of a Facial Octagon d d

Estimating d We fix d such that holds. P N tx PW P E

Estimating d We fix d such that holds. P N tx PW P E PS lx = max {tx, bx} bx

Px Px Rz Rz Rz Ry Ry Rz is always a rectangle. Rz Rz

Px Px Rz Rz Rz Ry Ry Rz is always a rectangle. Rz Rz Ry Px Px Px Ry Ry

Computation at a H-node x Let y be the right child of x and

Computation at a H-node x Let y be the right child of x and z be left child of x. PN P W Gy According to Areas P of Gy and Gz Gz some. EInvariants Satisfying tx Gz P Gx S Gy PS PN tx Gx bx PN Gy P W P E bx PS tx Gz Gx bx P E

Invariants tx tx bx bx number of faces in Gx having an edge on

Invariants tx tx bx bx number of faces in Gx having an edge on

Invariants tx tx bx bx

Invariants tx tx bx bx

Computation at a leaf node x PN P W PN tx Gy Gz PS

Computation at a leaf node x PN P W PN tx Gy Gz PS Gx bx P E P W tx Gy Gz PS Gx bx P E

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all internal nodes can be computed in linear time.

242 s 1 G’ A 46 s 3 G 19 F 8 E 23

242 s 1 G’ A 46 s 3 G 19 F 8 E 23 s 4 196 I J 12 14 H 37 s 5 D 56 K 27 s 6 s 2 C 11 s 3 23 140 C B 117 11 65 72 s 10 45 s 7 F 8 s 8 53 27 76 A s 6 E H 37 s 2 46 s 5 D 56 B 65 s 4 318 s 1 19 s 9 26 K 12 G I J 14

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all internal nodes can be computed in linear time. With an O(n) time preprocessing, embedding of the slicing path at each internal node takes constant time.

tx tx bx bx number of faces in Gx having an edge on PN

tx tx bx bx number of faces in Gx having an edge on PN PN Gy tx Gz P Gx S P E bx Gy P W PS tx Gz Gx bx P E

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all

Time Complexity Using a bottom-up computation on slicing tree, area of subgraphs for all internal nodes can be computed in linear time. With an O(n) time preprocessing, embedding of the slicing path at each internal node takes constant time. Computation time at a leaf node is proportional to the number of non-corner vertices on the west side of the face.

Computation at a leaf node x PN P W PN tx Gy Gz PS

Computation at a leaf node x PN P W PN tx Gy Gz PS Gx bx P E P W tx Gy Gz PS Gx bx P E

Foot Length lx of an Octagon Rx PN tx P W Gx P E

Foot Length lx of an Octagon Rx PN tx P W Gx P E PS bx lx = max {tx, bx}

According to Areas of Gy and Gz Satisfying Invariant

According to Areas of Gy and Gz Satisfying Invariant

A Linear Algorithm for Prescribed-Area Octagonal Drawings of Plane Graphs Md. Saidur Rahman Kazuyuki

A Linear Algorithm for Prescribed-Area Octagonal Drawings of Plane Graphs Md. Saidur Rahman Kazuyuki Miura Takao Nishizeki TOHOKU UNIVERSITY

Previous works on prescribed-area drawing Thomassen, 1992 G: Obtained from cyclically 5 -edge connected

Previous works on prescribed-area drawing Thomassen, 1992 G: Obtained from cyclically 5 -edge connected plane cubic graphs by inserting four vertices of degree 2 on outer face.

Cyclically 5 -edge Connected Cubic Plane Graphs X X Removal of any set of

Cyclically 5 -edge Connected Cubic Plane Graphs X X Removal of any set of less than 5 -edges leaves a graph such that exactly one of the connected components has a cycle.

Not cyclically 5 -edge connected X X Two connected components having cycles. X X

Not cyclically 5 -edge connected X X Two connected components having cycles. X X No connected component has a cycle.

Previous works on prescribed area drawing Thomassen, 1992 G: Obtained from cyclically 5 -edge

Previous works on prescribed area drawing Thomassen, 1992 G: Obtained from cyclically 5 -edge connected plane cubic graphs by inserting four vertices of degree 2 on outer face. Outer face is a rectangle G has a prescribed area straight-line drawing. Inner faces are arbitrary polygons An inner face is not always drawn as a rectilinear polygon. O(n 3) time algorithm.

Theorem Let G be a 2 -3 plane graph obtained from a cyclically 5

Theorem Let G be a 2 -3 plane graph obtained from a cyclically 5 -edge connected plane cubic graph by inserting four vertices of degree 2 on four distinct edges. Then G is a good slicing graph. That is, Thomassen’s graph is a good slicing graph.

Slicing Graphs Good Slicing Graphs Cyclically 5 -edge Connected cubic graph with four vertices

Slicing Graphs Good Slicing Graphs Cyclically 5 -edge Connected cubic graph with four vertices of degree 2 inserted on outer face

Slicing Graph G: 2 -3 plane graph PN P W G EP P GW

Slicing Graph G: 2 -3 plane graph PN P W G EP P GW NS-path P P E PS P W PN GNP WE-path P GSP P E PS G is a slicing graph if either it has exactly one inner face or it has an NS-path or a WE-path P such that both the subgraphs corresponding to P are slicing graphs. P is called a slicing path.