Weak Visibility Queries of Line Segments in Simple Polygons

Slides:



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

3-3 Solving Systems of Inequalities by Graphing
Polygon Decomposition
Fall Path Planning from text. Fall Outline Point Robot Translational Robot Rotational Robot.
Approximations of points and polygonal chains
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
Chapter 6 Polygons. A polygon is a closed plane figure formed by three or more segments that intersect only at their endpoints. PolygonsNot Polygons.
Incidences and Many Faces via cuttings Sivanne Goldfarb
Zoo-Keeper’s Problem An O(nlogn) algorithm for the zoo-keeper’s problem Sergei Bespamyatnikh Computational Geometry 24 (2003), pp th CGC Workshop.
Perfect Matching for Biconnected Cubic Graphs in O(nlog 2 n) Time Krzysztof Diks & Piotr Stańczyk.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Lecture 2 Chapter 2: Polygon Partitioning.
Lecture 8 : Arrangements and Duality Computational Geometry Prof. Dr. Th. Ottmann 1 Duality and Arrangements Duality between lines and points Computing.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 8 Motion Planning.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Lecture 2 Chapter 2: Polygon Partitioning.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning.
Exploring Solids. What is a Polyhedron? Polyhedrons Non-Polyhedrons.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
4/21/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Motion Planning Carola Wenk.
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.
Vertex – A point at which two or more edges meet Edge – A line segment at which two faces intersect Face – A flat surface Vertices, Edges, Faces.
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin.
Path Planning for a Point Robot
How to Cut Pseudoparabolas into Segments Seminar on Geometric Incidences By: Almog Freizeit.
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
12.1 Exploring Solids.
CLASSIFYING POLYGONS UNIT 1 LESSON 6. Classifying Polygons In geometry, a figure that lies in a plane is called a plane figure. A polygon is a closed.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
11-1 Space Figures and Cross Sections Objectives To recognize polyhedra and their parts To visualize cross sections of space figures.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
4/9/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Motion Planning Carola Wenk.
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Computational Geometry
2.6 Solving Systems of Linear Inequalities
Improved Randomized Algorithms for Path Problems in Graphs
Segment tree and Interval Tree
The
Randomized Algorithms CS648
Computing Shortest Path amid Pseudodisks
Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs
Efficient Algorithms for the Weighted k-Center Problem on a Real Line
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Dynamic Data Structures for Simplicial Thickness Queries
Locating an Obnoxious Line among Planar Objects
Computing the Visibility Polygon of an Island in a Polygonal Domain
Quickest Visibility Queries in Polygonal Domains
On the Geodesic Centers of Polygonal Domains
Minimizing the Aggregate Movements for Interval Coverage
Haitao Wang Utah State University WADS 2017, St. John’s, Canada
Processing an Offline Insertion-Query Sequence with Applications
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
Optimal Point Movement for Covering Circular Regions
Range Queries on Uncertain Data
Joseph S.B. Mitchell, Stony Brook University
Danny Z. Chen1, Yan Gu2, Jian Li2, and Haitao Wang1
Aggregate-Max Nearest Neighbor Searching in the Plane
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Haitao Wang Utah State University SoCG 2017, Brisbane, Australia
Computing Shortest Paths among Curved Obstacles in the Plane
Visibility and Ray Shooting Queries in Polygonal Domains
Outlier Respecting Points Approximation
Computational Geometry
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Presentation transcript:

Weak Visibility Queries of Line Segments in Simple Polygons Haitao Wang Utah State University ISAAC 2012 Joint work with Danny Z. Chen

Visibility p is visible to q p q

Visibility of line segments q p Both p and q are (weakly) visible to s

(Weak) visibility polygons The visibility polygon of s: the set of points visible to s s

Visibility polygons (cont.)

Our problem: visibility queries Given a simple polygon P, design a data structure (or do preprocessing) For any query segment s in P, compute the visibility polygon of s Notation n: the size of P k: the size of the visibility polygon of s

Previous work (no preprocessing) A linear time algorithm (GHLMT 87’)

Previous work (with preprocessing) Data structures preprocessing time space Query time Bose et al. 02’ O(n3 log n) O(n3) O(klog n) Aronov et al. 02’ O(n2 log n) O(n2) O(klog2 n) Bygi and Ghodsi 11’ O(k+log n)

The visibility graph of P Connecting all visible pairs of vertices The size of the graph is O(n2)

Our results K=O(n2): the size of the visibility graph of P Data structures preprocessing time space Query time Bose et al. 02’ O(n3 log n) O(n3) O(klog n) Aronov et al. 02’ O(n2 log n) O(n2) O(klog2 n) Bygi and Ghodsi 11’ O(k+log n) Our Result 1 O(K) Our Result 2 Our recent result: O(n) O(n) O(k log n) K=O(n2): the size of the visibility graph of P

Computing the visibility polygon

Computing the visibility polygon q v u

Computing the visibility polygon q v u

Computing the visibility polygon critical constraints q v u

Computing the visibility polygon critical constraints The purple segments q v u Question: How to determine the critical constraints dynamically?

Observations: finding the critical constraints dynamically q v u

Our two approaches Determine critical constraints dynamically in the query algorithm Pre-compute the critical constraint arrangement in the preprocessing

The first approach: determine critical constraints dynamically Using visibility graphs (in the paper) Preprocessing time and space: O(K) Using a ray-rotating data structure (our recent result) Preprocessing time and space: O(n) Query determine each critical constraint in O(log n) time Total query time: O(klog n) The total number of critical constraints intersecting s is O(k)

The ray-rotating queries Given a ray r with origin z in P, rotate r clockwise return the first vertex of P visible to z that will be hit by the ray r z Our result: with O(n) time preprocessing, each query can be answered in O(log n) time Interesting in its own right?

The second approach: pre-compute the critical constraint arrangement Preprocessing Compute all critical constraints explicitly O(n3) time and space Query Follow the query segment in the arrangement Query time: O(k+logn)

Critical constraint arrangement Each critical constraint is an extension of a visibility graph edge The number of critical constraints is O(n2) The size of the arrangement is O(n3)

Critical constraint arrangement Given a query segment s The complexity of all yellow cells are O(k) k: the size of the visibility polygon of s

The zone theorem of line segment arrangements in the plane A: the arrangement of m line segments for any other line segment s The zone Z(s): the set of all faces of A intersecting s The zone theorem: The complexity of Z(s): O(mα(m)) (Edelsbrunner et al. 92)

The zone theorem of line segment arrangements in simple polygons A new question: What is the complexity of Z(s), if All segments of A are in a simple polygon P The endpoints of each segment in A are on the boundary of P Our answer: O(M) M: the number of segments of A intersecting Z(s)

Open problem Open problem: are there sub-cubic data structures for preprocessing time space Query time Bose et al. 02’ O(n3 log n) O(n3) O(klog n) Aronov et al. 02’ O(n2 log n) O(n2) O(klog2 n) Bygi and Ghodsi 11’ O(k+log n) Our Recent Result O(n) Our Result 2 Open problem: are there sub-cubic data structures for O(k + log n) time query?

Thank you Questions?