Octagonal Drawings of Plane Graphs with Prescribed Face Areas Takao Nishizeki (Tohoku Univ.) 指定面積的平面図的八角形描画 西関 隆夫 (東北大学) ツディン メンジディ ピンメントウディ バージョシン ミョー.

Slides:



Advertisements
Similar presentations
Rahnuma Islam Nishat Debajyoti Mondal Md. Saidur Rahman Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering.
Advertisements

Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
Divide and Conquer: Rooted Trees. 2 Introduction Rooted trees: acyclic graphs (no cycles) all edges directed away from root. downward planar drawing (child.
CMPS 2433 Discrete Structures Chapter 5 - Trees R. HALVERSON – MIDWESTERN STATE UNIVERSITY.
Feb Polygon Triangulation Shmuel Wimer Bar Ilan Univ., School of Engineering.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
June 3, 2015Windows Scheduling Problems for Broadcast System 1 Amotz Bar-Noy, and Richard E. Ladner Presented by Qiaosheng Shi.
Rectangular Drawing (continue) Harald Scheper. Overview algorithm (directions) algorithm in linear time outline of algorithm (placement) Rect. Drawings.
Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering Bangladesh University of Engineering and Technology.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Computational Geometry Seminar Lecture 1
Graph Colouring Lecture 20: Nov 25.
Dept. of Computer Science Distributed Computing Group Asymptotically Optimal Mobile Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Straight line drawings of planar graphs – part I Roeland Luitwieler.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Data Structures, Spring 2006 © L. Joskowicz 1 Data Structures – LECTURE 14 Strongly connected components Definition and motivation Algorithm Chapter 22.5.
Rectangular Drawing Imo Lieberwerth. Content Introduction Rectangular Drawing and Matching Thomassen’s Theorem Rectangular drawing algorithm Advanced.
Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c) , Michael P. Frank and Modified By Mingwu Chen Trees.
Curve Curve: The image of a continous map from [0,1] to R 2. Polygonal curve: A curve composed of finitely many line segments. Polygonal u,v-curve: A polygonal.
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
Important Problem Types and Fundamental Data Structures
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE The trees.
1 PQ Trees, PC Trees, and Planar Graphs Hsu & McConnell Presented by Roi Barkan.
Subdivision of Edge In a graph G, subdivision of an edge uv is the operation of replacing uv with a path u,w,v through a new vertex w.
Convex Grid Drawings of Plane Graphs
May 5, 2015Applied Discrete Mathematics Week 13: Boolean Algebra 1 Dijkstra’s Algorithm procedure Dijkstra(G: weighted connected simple graph with vertices.
Algorithms for Enumerating All Spanning Trees of Undirected and Weighted Graphs Presented by R 李孟哲 R 陳翰霖 R 張仕明 Sanjiv Kapoor and.
Orthogonal Drawings of Series-Parallel Graphs Joint work with Xiao Zhou by Tohoku University Takao Nishizeki.
May 1, 2002Applied Discrete Mathematics Week 13: Graphs and Trees 1News CSEMS Scholarships for CS and Math students (US citizens only) $3,125 per year.
Straight line drawings of planar graphs – part II Roeland Luitwieler.
1 Orthogonal Drawing (continued)  Sections 8.3 – 8.5 from the book  Bert Spaan.
Canonical Decomposition, Realizer, Schnyder Labeling and Orderly Spanning Trees of Plane Graphs Kazuyuki Miura, Machiko Azuma and Takao Nishizeki title.
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Euler paths and tours.
Tree A connected graph that contains no simple circuits is called a tree. Because a tree cannot have a simple circuit, a tree cannot contain multiple.
Introduction to Planarity Test W. L. Hsu. Plane Graph A plane graph is a graph drawn in the plane in such a way that no two edges intersect A plane graph.
Drawing Plane Graphs Takao Nishizeki Tohoku University.
Partitioning Graphs of Supply and Demand Generalization of Knapsack Problem Takao Nishizeki Tohoku University.
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
15-853Page :Algorithms in the Real World Planar Separators I & II – Definitions – Separators of Trees – Planar Separator Theorem.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
Graph Theory and Applications
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: There is a unique simple path between any 2 of its.
Department of Computer Science and Engineering Bangladesh University of Engineering and Technology M. Sc. Engg. Thesis Md. Emran Chowdhury ( P)
S&H Planarity Test Based on PC-Trees Wen-Lian Hsu.
Great Theoretical Ideas in Computer Science for Some.
Various Orders and Drawings of Plane Graphs Takao Nishizeki Tohoku University.
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Planarity Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Trees.
Great Theoretical Ideas In Computer Science
Graph Drawing.
Minimum-Segment Convex Drawings of 3-Connected Cubic Plane Graphs
12. Graphs and Trees 2 Summary
Sequence Pair Representation
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Victoria city and Sendai city
Tohoku University.
And the Final Subject is…
Important Problem Types and Fundamental Data Structures
Presentation transcript:

Octagonal Drawings of Plane Graphs with Prescribed Face Areas Takao Nishizeki (Tohoku Univ.) 指定面積的平面図的八角形描画 西関 隆夫 (東北大学) ツディン メンジディ ピンメントウディ バージョシン ミョー ワォ

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

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

Lu Xian and Prof. Fujino Book Cover1 st page

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

Book

Octagonal Drawings of Plane Graphs with Prescribed Face Areas Takao Nishizeki (Tohoku Univ.) 指定面積的平面図的八角形描画 西関 隆夫 (東北大学) ツディン メンジディ ピンメントウディ バージョシン ミョー ワォ

Prescribed-Area Octagonal Drawing Input Plane graph

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

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

K 27 G 19 A 46 C 11 J 14 I 12 B 65 D 56 E 23 F 8 H 37 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 Prescribed-Area Octagonal Drawing Input 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.

K 27 G 19 A 46 C 11 J 14 I 12 B 65 D 56 E 23 F 8 H 37 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 Prescribed-Area Octagonal Drawing Input 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 Each module has area requirements. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.

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 Applications VLSI Floorplanning 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.

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

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

Slicing Tree

P 1

P 1 P : V 1 root

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

Slicing Tree P 2 P : V 1 root

Slicing Tree P 2 P : V 1 2 root

Slicing Tree P 3 P : V 1 2 root

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

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

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

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

Three face paths On a boundary of a single face

Not a face path

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

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

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

Not every slicing graph is a good slicing graph.

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

Output Prescribed-area Octagonal drawing 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. A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27

Octagons 8 corners 6 corners 4 corners

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

Do not appear

Feasible Octagons Octagons of nine shapes must satisfy some conditions on size

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

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

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

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

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

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

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

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

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

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

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

Algorithm Initialization at root

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area A(G). 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 A(G). 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 A(G). 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 A(G). A(G): sum of the prescribed areas of all inner faces in G W = 23 H = 20

Algorithm Initialization at root Draw the outer cycle as an arbitrary rectangle of area A(G). 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.

Root : vertical slice Operation at root Algorithm A(G) P r : V P v : V P w : V r v w A(G v ) A(G w ) PrPr A(G v )

Root : vertical slice Operation at root Algorithm P r : V P v : V P w : V r v w

Root : vertical slice Operation at root Algorithm P r : V P v : V P w : V r v w

Root : vertical slice Operation at root Algorithm P r : V P v : V P w : V r v w

Root : vertical slice Operation at root Algorithm P r : V P v : V P w : V r v w

Root : vertical slice Operation at root Algorithm P r : V P v : V P w : V r v w

Root : horizontal slice Operation at root Algorithm P r : H P v : V P w : V r v w R A(G v ) A(G w )

Root : horizontal slice Operation at root Algorithm P r : H P v : V P w : V r v w A(G w ) A(G v ) R Case 1: A(G v ) = A(R) A(G v ) A(G w )

Root : horizontal slice Operation at root Algorithm A(G w ) A(G v ) Case 2: A(G v ) > A(R) R A(G v ) A(G w )

Root : horizontal slice Operation at root Algorithm Case 3: A(G v ) < A(R) Case 2: A(G v ) > A(R) A(G w ) A(G v ) A(G w )

Root : horizontal slice Operation at root Algorithm 6 corners A(G w ) A(G v ) Case 3: A(G v ) < A(R) Case 2: A(G v ) > A(R) A(G w ) A(G v ) A(G w )

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

P u : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Vertical slice

P r : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Vertical slice Fixed

P r : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Vertical slice Fixed Face

P r : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Embed the slicing path in R u Vertical slice

P r : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Vertical slice Feasible Octagon R v Feasible Octaon R w

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

very small foot-lenght RuRu PuPu A(Gv)A(Gv) 10 corners

very small foot-lenght RuRu PuPu f number of inner faces in G

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

very small foot-lenght RuRu PuPu f number of inner faces in G H height of initial rectangle R r Input at root R r A(R ) = A(G) r H=20

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

very small foot-lenght RuRu PuPu f number of inner faces in G

very small foot-lenght RuRu large enough East side

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

Computation at a leaf node P E P W P S N P P E P W P S N P

Time Complexity Overall time complexity is linear.

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 work. 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.

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 Removal of any set of less than 5-edges leaves a graph such that exactly one of the connected components has a cycle. X X X X

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

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

Algorithm Initialization at root

RuRu PEPE If a large number of inner faces have edges on P E then foot-lengh should be large enough. Dimensions of R u play crucial roles. large

Dimensions of a Feasible Octagon ?

ltlt lblb

ltlt lblb 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.

ltlt lblb 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. K 27 G 19 A 46 C 11 J 14 I 12 B 65 D 56 E 23 F 8 H 37 Input A min A min = 8

ltlt lblb 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. H height of initial rectangle R r Input at root R r A(R ) = A(G) r H=20

ltlt lblb 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. K 27 G 19 A 46 C 11 J 14 I 12 B 65 D 56 E 23 F 8 H 37 Input A min A min = 8 A(R ) = A(G) r H=20

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

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

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

a b c d ltlt lblb l < f δ

a b c d l tu l bu l < f δ Red area < l u H < f δH < A min

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

lblb lblb

lblb lblb for a facial octagon whose x S1 is convex.

P r : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Feasible Octagon R v Feasible Octagon R w

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. Overall time complexity is linear. Computation time at a leaf node is proportional to the number of non-corner vertices on the west side of the face.

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.

P P P P N E S W u R a b c d l tu l bu xN2xN2 xN1xN1 xS1xS1 xS1xS1 l < f δ

l tu = 0 l bu = 0 l u = 0 If the octagon is a rectangle

R u is a feasible octagon if R u satisfies the following eight conditions (ii) l u < fδ (i) A(R u ) =A(G u ) (iii) if x N 2 is a convex corner then (iv) if x S1 is a convex corner then (v) if both x N2 and x S then Feasible Octagon

(vi) if both x N1 and x S1 are concave corners then (vii) if x N 2 is a concave corner then (viii) if x S1 is a concave corner then

P E P P P P P P P P P f f f f f f f f f f P P P N S W P : V 1 2 P : H P : V 5 P : H 6 f 9 f 10 f 8 f 6 f 7 f 4 f 3 f 2 f 5 f 1 u (i) A(R u ) =A(G u ) RuRu

(iii) if x N 2 is a convex corner then xN1xN1 xN2xN2 l tu for a facial octagon whose x N2 is convex. xN1xN1 xN2xN2 l tu

(vi) if x S1 is a convex corner then xs1xs1 xs2xs2 xs1xs1 xs2xs2 l bu for a facial octagon whose x S1 is convex.

(v) if both x N2 and x S2 are concave corners then xs1xs1 xs2xs2 xN1xN1 xN2xN2 l bu - l tu

(v) if both x N2 and x S2 are concave corners then xs1xs1 xs2xs2 xN1xN1 xN2xN2 l bu - l tu for a facial octagon whose x N2 and x S2 are concave

(vi) if both x N1 and x S1 are concave corners then l bu - l tu for a facial octagon whose x N1 and x S1 are concave

P r : V P v : V P w : V u v w General computation at an internal node Feasible Octagon R u Feasible Octagon R v Feasible Octagon R w

Embedding of a vertical slicing path P P P N E S W u R a b c d xN2xN2 xN1xN1 xS1xS1 xS1xS1

P P P P N E S W u R a b c d l tu l bu xN2xN2 xN1xN1 xS1xS1 xS1xS1 (ii) l u < f δ Red area < l u H < f δH < A min The vertical slicing path is always embedded as a vertical line segment.

Embedding of a vertical slicing path P P P N E S W a b c d xN2xN2 xN1xN1 xS1xS1 xS1xS1 RwRw RvRv R w is a rectange which is a feasible octagon. R v is a feasible octagon since R u is a feasible octagon.

Embedding of a horizontal slicing path xs1xs1 xs2xs2 xN1xN1 xN2xN2 (v) if both x N2 and x S2 are concave corners then RvRv RwRw RuRu Both R v and R w are feasible octagons. We can prove for other cases.

Computation at a leaf node x P E P W P S N P P E P W P S N P

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

very small Intuitively RuRu PuPu A(G v ) P u can be embedded successfully although A(G v ) is very large. Dimensions of R u play crucial roles. We call R u a feasible octagon if P u can embedded successfully irrespective of size of A(G v ).

P P P P N E S W x G

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

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

Foot Length l x of an Octagon R x P P P P N E S W x G txtx bxbx l x = max {t x, b x }

P P P P N E S W u R a b c d l tu l bu The number of inner faces in G u each of which has an edge on the east side. a positive constant. f number of inner faces in G H height of initial rectangle R r xN2xN2 xN1xN1 xS1xS1 xS1xS1

If the footlength of R x is resonably small then R z will always be drawn as a rectngle. PxPx PxPx PxPx PxPx PxPx RzRz RyRy RzRz RyRy RzRz RyRy RzRz RyRy RzRz RyRy

Neck Length d of a Facial Octagon d d d d Maximum foot length P P P N S W G P E l max f : number of faces in G

P P N W P P E S txtx bxbx l x = max {t x, b x } Estimating d We fix d such that holds.

PxPx PxPx PxPx PxPx PxPx RzRz RyRy RzRz RyRy RzRz RyRy RzRz RyRy RzRz RyRy R z is always a rectangle.

Computation at a H-node x Let y be the right child of x and z be left child of x. P W P E P S y G txtx bxbx N P z G x G P E P W P S txtx bxbx N P y G z G x G P E P W P S txtx bxbx N P y G z G x G According to Areas of G y and G z Satisfying some Invariants

number of faces in G x having an edge on Invariants txtx txtx bxbx bxbx

txtx txtx bxbx bxbx

Computation at a leaf node x P E P W P S txtx bxbx N P y G z G x G P E P W P S txtx bxbx N P y G z G x G

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

K 27 G 19 F 8 C 11 J 14 I 12 A 46 B 65 D 56 E 23 H 37 G’ 1165 s1s1 s1s1 76 s2s2 CB s2s s4s4 s5s5 E s5s5 D s6s6 s6s6 s 10 FHG s7s7 s8s8 K s9s9 JI s3s3 A s4s4 s3s3

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.

number of faces in G x having an edge on txtx txtx bxbx bxbx P E P W P S txtx bxbx N P y G z G x G P E P S y G txtx bxbx N P z G x G

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 P E P W P S txtx bxbx N P y G z G x G P E P W P S txtx bxbx N P y G z G x G

Foot Length l x of an Octagon R x P P P P N E S W x G txtx bxbx l x = max {t x, b x }

According to Areas of G y and G z Satisfying Invariant

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 Obtained from cyclically 5-edge connected plane cubic graphs by inserting four vertices of degree 2 on outer face. G:G:

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

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

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

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.

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

Slicing Graph P P P P N E S W NS-path P P P P N E S W WE-path 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 P P is called a slicing path. G: 2-3 plane graph G G G G P P P P W E N S