Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

Lecture 15. Graph Algorithms
Rahnuma Islam Nishat Debajyoti Mondal Md. Saidur Rahman Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering.
Minimum Vertex Cover in Rectangle Graphs
22nd International Symposium on Graph Drawing
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
INTERVAL TREE & SEGMENTATION TREE
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
APPLICATIONS OF INTEGRATION
Overlay of Two Subdivisions
Feb Polygon Triangulation Shmuel Wimer Bar Ilan Univ., School of Engineering.
Copyright © 2010 Pearson Education, Inc. All rights reserved Sec The Rectangular Coordinate System.
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.
PYRAMIDS.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
11-1 Space Figures and Cross Sections
Convex Grid Drawings of 3-Connected Plane Graphs Erik van de Pol.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
CSE 6405 Graph Drawing Text Books T. Nishizeki and M. S. Rahman, Planar Graph Drawing, World Scientific, Singapore, G. Di Battista,
2IL90: Graph Drawing Introduction Fall Graphs  Vertices  Edges.
Rooted Trees. More definitions parent of d child of c sibling of d ancestor of d descendants of g leaf internal vertex subtree root.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
MULTIPLE INTEGRALS Double Integrals over General Regions MULTIPLE INTEGRALS In this section, we will learn: How to use double integrals to.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
7.2 Volumes APPLICATIONS OF INTEGRATION In this section, we will learn about: Using integration to find out the volume of a solid.
Rectangular Drawing Imo Lieberwerth. Content Introduction Rectangular Drawing and Matching Thomassen’s Theorem Rectangular drawing algorithm Advanced.
Holt Geometry 10-3 Formulas in Three Dimensions 10-3 Formulas in Three Dimensions Holt Geometry Warm Up Warm Up Lesson Presentation Lesson Presentation.
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
Section 12.0 Review of Linear Inequalities
Important Problem Types and Fundamental Data Structures
1 PQ Trees, PC Trees, and Planar Graphs Hsu & McConnell Presented by Roi Barkan.
Convex Grid Drawings of Plane Graphs
ME 2304: 3D Geometry & Vector Calculus Dr. Faraz Junejo Double Integrals.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Orthogonal Drawings of Series-Parallel Graphs Joint work with Xiao Zhou by Tohoku University Takao Nishizeki.
Formulas in Three Dimensions
Three–Dimensional Figures Today you will learn to: identify and classify three-dimensional figures describe plane sections of right rectangular prisms.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
VLSI Backend CAD Konstantin Moiseev – Intel Corp. & Technion Shmuel Wimer – Bar Ilan Univ. & Technion.
Straight line drawings of planar graphs – part II Roeland Luitwieler.
1 Orthogonal Drawing (continued)  Sections 8.3 – 8.5 from the book  Bert Spaan.
Octagonal Drawings of Plane Graphs with Prescribed Face Areas Takao Nishizeki (Tohoku Univ.) 指定面積的平面図的八角形描画 西関 隆夫 (東北大学) ツディン メンジディ ピンメントウディ バージョシン ミョー.
5.5.3 Rooted tree and binary tree  Definition 25: A directed graph is a directed tree if the graph is a tree in the underlying undirected graph.  Definition.
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
5.5.2 M inimum spanning trees  Definition 24: A minimum spanning tree in a connected weighted graph is a spanning tree that has the smallest possible.
Trees : Part 1 Section 4.1 (1) Theory and Terminology (2) Preorder, Postorder and Levelorder Traversals.
Formulas in Three Dimensions
Attributes A quality that is characteristic of someone or something.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Copyright © 2011 Pearson Education, Inc. Conic Sections CHAPTER 13.1Parabolas and Circles 13.2Ellipses and Hyperbolas 13.3Nonlinear Systems of Equations.
Great Theoretical Ideas In Computer Science
Computational Geometry
Graph Drawing.
Formulas in Three Dimensions
Computer Graphics Filled Area Primitives II Lecture 09 Taqdees A
Source Code for Data Structures and Algorithm Analysis in C (Second Edition) – by Weiss
In this section, we will learn about: Using integration to find out
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 10 Trees Slides are adopted from “Discrete.
Tohoku University.
Graphing Linear Equations
Σ 2i = 2 k i=0 CSC 225: Proof of the Day
Overlay of Two Subdivisions
Graphing Linear Equations
Presentation transcript:

Octagonal Drawing Johan van Rooij

Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness Time Complexity

Definition Octagonal drawing: Orthogonal drawing Outer cycle is a rectangle Each inner face has at most eight corners The area of each inner face is equal to a prescribed number

Octagonal Drawing Example

Applications VLSI floorplanning Modules with fixed space requirements Adjacency requirements for communication Often not possible with rectangular drawings Often “good slicing floorplans”

Slicing Graph For a 2-3 plane graph, with designated corners and N,E,S,W boundary we have: Slicing Path: Path from N to S or E to W boundary that does not pass through other outer vertices or edges Slicing Graph: One inner face or has a slicing path which divides the graph in two slicing graphs

Slicing Graph Example

Slicing Tree We can make a tree using the recursive definition of a slicing graph Leaf: face of the graph Internal node: slicing path V-Node: Vertical (N-S) slicing path H-Node: Horizontal (W-E) slicing path

Slicing Tree Example

Good Slicing Graph Good Slicing Tree: Every H-Node has at least one child which is a leaf. Good Slicing Graph: Graph corresponding to a good slicing tree Therefore:north or south subgraph of WE-slicing path never sliced

Octagonal Drawing Algorithm Given a good slicing graph with a given good slicing tree we will create an octagonal drawing for the graph. Preprocessing step: Add to each node of the slicing tree the total required area of the faces corresponding to its descendants.

Algorithm Outline Choose initial height and width and draw the outer cycle and arbitrarily fix all vertices on east boundary. Traverse tree: root, right, left subtree Draw slicing paths corresponding to the nodes of the tree from east to west. For Leaf: do nothing Always: east boundary vertices fixed

Face Shapes

Feasible Face 1.Area equals prescribed area 2.max( l t, l b ) < fλ 3.If x N2 concave: l t < (f - f E )λ 4.If x S1 concave: l b < (f – f E )λ 5.If x N2 convex: l t ≥ f E λ 6.If x S1 convex: l b ≥ f E λ 7.If x N2 and If x S2 concave: l b – l t ≥ f E λ 8.If x N1 and If x S1 concave: l t – l b ≥ f E λ f = total nr of inner faces f E = nr of faces inside current face which have an edge on the east boundary

Correctness Theorem The algorithm finds an octagonal drawing The initial rectangle is a feasible face Next slides: If the face corresponding to an internal node of the slicing tree is feasible we can draw the corresponding slicing path such that both new faces are feasible as well.

Vertical Slicing North and south boundary ether face or outer cycle: no interfering vertices! We can draw a straight vertical line such that the area’s are correct. New faces feasible? Because of condition 2 of the original face, the new faces are also feasible

Vertical Slicing is Feasible? Condition 2 + formula for λ : max( l t, l b ) H < fλH = A min

Horizontal Slicing We will only show this for shape (a) East node of slicing path fixed Two cases - horizontal line through fixed eastern nodes intersects: West boundary – three subcases Line segment between x S1 and x S2

Horizontal Slicing – case 1a Case 1a: Straight line gives correct areas North face feasible: 2. max( l N t, l N b ) = max( l t, 0 ) ≤ max( l t, l b ) < fλ 3. l N t = l t < (f - f E )λ < (f – f N E )λ South face feasible: 2. max( l S t, l S b ) = max( 0, l b ) ≤ max( l t, l b ) < fλ 6. l S b = l b ≥ f E λ > f S E λ

Horizontal Slicing – case 1b Case 1b: North face is too large Fix x’ S1 such that l N b = l t + f N E λ And x’ S2 such that the areas are correct The slicing path always is below the top boundary Since 7: l b ≥ f E λ + l t max(l b, l t ) ≥ f E λ + l t > f N E λ + l t = l N b Thus: l N b H < max(l b,l t )H Since 2: l N b H < fλH = A min

Horizontal – case 1b feasibility Case 1b: North face is too large North face feasible: Since: l N b = l t + f N E λ (and 7) l b > l N b > l t 2. max( l N t, l N b ) < max( l t, l b ) < fλ 3. l N t = l t ≤ (f – f E )λ < (f – f N E )λ Etcetera…

Horizontal Slicing – case 1c

Horizontal Slicing – case 2 Case 2:Horizontal line through fixed vertex intersect south boundary Fix x’ S1 such that l N b = l t + f N E λ and x’ S2 by required area Possible since 7: l N b = l t + f N E λ < l t + f E λ ≤ l b And: max(l t, l b )H < fλH = A min

What have we shown? If the face corresponding to an internal node of the slicing tree is feasible we can draw the corresponding slicing path such that both new faces are feasible as well. Proves the Correctness Theorem

Time Complexity The Algorithm works in linear time Bottom up computation of areas Each slicing path can be imbedded in constant time

How To Obtain the Good Slicing Tree? Rahman et al. If a 2-3 plane graph has a rectangular drawing and every proper inner cycle has at least five legs then it is a good slicing graph and a good slicing tree can be found in linear time! Proper inner cycle: contains no outer edges

Questions?