1 / 27

Octagonal Drawing

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

myrilla
Download Presentation

Octagonal Drawing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Octagonal Drawing Johan van Rooij

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

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

  4. Octagonal Drawing Example

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

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

  7. Slicing Graph Example

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

  9. Slicing Tree Example

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

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

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

  13. Face Shapes

  14. Feasible Face • Area equals prescribed area • max( lt , lb ) < fλ • If xN2 concave: lt < (f - fE)λ • If xS1 concave: lb < (f – fE)λ • If xN2 convex: lt ≥ fE λ • If xS1 convex: lb ≥ fE λ • If xN2 andIf xS2 concave: lb – lt ≥ fE λ • If xN1 andIf xS1 concave: lt – lb ≥ fE λ f = total nr of inner faces fE = nr of faces inside current face which have an edge on the east boundary

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

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

  17. Vertical Slicing is Feasible? Condition 2 + formula for λ : • max( lt , lb ) H < fλH = Amin

  18. 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 xS1 and xS2

  19. Horizontal Slicing – case 1a Case 1a: Straight line gives correct areas North face feasible: 2. max( lNt, lNb) = max( lt, 0 ) ≤ max( lt, lb ) < fλ 3. lNt = lt < (f - fE)λ < (f – fNE)λ South face feasible: 2. max( lSt, lSb ) = max( 0, lb ) ≤ max( lt, lb ) < fλ 6. lSb= lb ≥ fEλ > fSEλ

  20. Horizontal Slicing – case 1b Case 1b: North face is too large Fix x’S1 such that lNb= lt + fNEλ And x’S2 such that the areas are correct The slicing path always is below the top boundary Since7: lb ≥ fEλ + lt max(lb, lt) ≥ fEλ + lt > fNEλ + lt = lNb Thus: lNbH < max(lb,lt)H Since2: lNbH < fλH = Amin

  21. Horizontal – case 1b feasibility Case 1b: North face is too large North face feasible: Since: lNb= lt + fNEλ (and 7) lb > lNb > lt 2. max( lNt, lNb) < max( lt, lb ) < fλ 3. lNt = lt ≤ (f – fE)λ < (f – fNE)λ Etcetera…

  22. Horizontal Slicing – case 1c

  23. Horizontal Slicing – case 2 Case 2: Horizontal line through fixed vertex intersect south boundary Fix x’S1 such that lNb= lt + fNEλ and x’S2 by required area Possible since 7: lNb = lt + fNEλ < lt + fEλ ≤ lb And: max(lt , lb)H < fλH = Amin

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

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

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

  27. Questions?

More Related