This preview shows pages 1–10. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CSE 4101/5101 Line Segments Intersections Prof. Andy Mirzaian Line Segments Intersections Thematic Map Overlay Photos courtesy of ScienceGL 2 References: • [CLRS] chapter 33 • [M. de Berge et al ’00] chapter 2 • [PreparataShamos’85] chapter 7 • [O’Rourke’98] chapter 7 Applications : • Graphics: hidden line/surface removal • GIS: Geographic Information Systems • Cartography • VLSI circuit layout • Pattern recognition • Optimization: Linear Programming • Arrangement of lines, planes, hyperplanes • Visibility, kernels, etc. 3 Line Segments Intersection Problem Given a set L={ l1,l2, … , ln } of n line segments in the plane, report all pairwise intersections in L. (Modes: reporting, counting or disjointness.) • Naïve approach : check every pair in L in O(n2) time. • Can we make this output sensitive? • Suppose there are a total of R intersecting pairs to report, where 0 R (n2). Ø O(R + n log n) time is achievable for reporting mode. Ø O(n log n) time for counting & disjointness mode. 4 Sp eci al Case: rectilinear L Assume segments in L are vertical (blue) or horizontal (red) , and each intersection is between a redblue pair. e.g., in VLSI 5 Sp eci al Case: rectilinear L Assume segments in L are vertical (blue) or horizontal (red) , and each intersection is between a redblue pair. Plane Sweep Method : vertical sweepline moving lefttoright. • Active segments: horizontal segments that intersect the sweepline. • Sweep event schedule: xsorted segment endpoints ( 2 per red, 1 per blue ). • Sweep Status: yordering of the active horizontal segments maintained in an efficient dictionary D. Sweepline b a c d e b a d D 6 Sp eci al Case: rectilinear L Assume segments in L are vertical (blue) or horizontal (red) , and each intersection is between a redblue pair. Plane Sweep Method : vertical sweepline moving lefttoright. • Active segments: horizontal segments that intersect the sweepline. • Sweep event schedule: xsorted segment endpoints ( 2 per red, 1 per blue ). • Sweep Status: yordering of the active horizontal segments maintained in an efficient dictionary D. Sweepline b a c d e b a d c D 7 Sp eci al Case: rectilinear L Assume segments in L are vertical (blue) or horizontal (red) , and each intersection is between a redblue pair. Plane Sweep Method : vertical sweepline moving lefttoright. • Active segments: horizontal segments that intersect the sweepline. • Sweep event schedule: xsorted segment endpoints ( 2 per red, 1 per blue ). • Sweep Status: yordering of the active horizontal segments maintained in an efficient dictionary D. Sweepline b a c d e b a d c D e1 e2 e1 e2 8 Sp eci al Case: rectilinear L Assume segments in L are vertical (blue) or horizontal (red) , and each intersection is between a redblue pair....
View
Full
Document
This note was uploaded on 02/13/2012 for the course CSE 4101 taught by Professor Mirzaian during the Winter '12 term at York University.
 Winter '12
 Mirzaian
 Data Structures

Click to edit the document details