Quickest Visibility Queries in Polygonal Domains

Slides:



Advertisements
Similar presentations
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Advertisements

INTERVAL TREE & SEGMENTATION TREE
Approximations of points and polygonal chains
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
Convexity of Point Set Sandip Das Indian Statistical Institute.
Zoo-Keeper’s Problem An O(nlogn) algorithm for the zoo-keeper’s problem Sergei Bespamyatnikh Computational Geometry 24 (2003), pp th CGC Workshop.
Quadtrees Raster and vector.
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Counting and Representing Intersections Among Triangles in R 3 Esther Ezra and Micha Sharir.
Balanced Graph Partitioning Konstantin Andreev Harald Räcke.
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.
Lecture 6 Divide and Conquer for Nearest Neighbor Problem Shang-Hua Teng.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Time-Based Voronoi Diagram Institute of Information Science Academia Sinica, Taipei, Taiwan D. T. Lee Institute of Information Science Academia Sinica,
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
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.
Efficient Partition Trees Jiri Matousek Presented By Benny Schlesinger Omer Tavori 1.
Orthogonal Range Searching I Range Trees. Range Searching S = set of geometric objects Q = query object Report/Count objects in S that intersect Q Query.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Comment reconstruire le graphe de visibilité d’un polygone? (Reconstructing visibility graphs of polygons) Jérémie Chalopin, Shantanu Das LIF, Aix-Marseille.
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.
Planning Near-Optimal Corridors amidst Obstacles Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Athens May 2006.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
Distance sensitivity oracles in weighted directed graphs Raphael Yuster University of Haifa Joint work with Oren Weimann Weizmann inst.
Path Planning for a Point Robot
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
1 Triangulation Supplemental From O’Rourke (Chs. 1&2) Fall 2005.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Computational Geometry
Introduction to Polygons
CMPS 3130/6130 Computational Geometry Spring 2017
Schedule for next 2 weeks
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Planarity Testing.
The
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Randomized Algorithms CS648
Segment Trees Basic data structure in computational geometry.
HW2 EE 562.
Computing Shortest Path amid Pseudodisks
Efficient Algorithms for the Weighted k-Center Problem on a Real Line
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Computing the Visibility Polygon of an Island in a Polygonal Domain
Covering Uncertain Points in a Tree
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
CMPS 3130/6130 Computational Geometry Spring 2017
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
Algorithms (2IL15) – Lecture 7
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
Weak Visibility Queries of Line Segments in Simple Polygons
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Presentation transcript:

Quickest Visibility Queries in Polygonal Domains Haitao Wang Utah State University SoCG 2017, Brisbane, Australia

Shortest paths queries in a polygonal domain A polygon P of h holes with a total of n vertices, a source point s Given a query point t, find a shortest path from s to reach t t s

Our problem: Quickest visibility queries Given a query point t, find a shortest path from s to see t a t s b

A subproblem: shortest-path-to-segment queries Given a query segment t, find a shortest path from s to any point of t q is a closest point of t to s q t s

Why a subproblem? To answer a quickest visibility query for t t s Compute the visibility polygon Vis(t) of t Find a closest point q on the boundary of Vis(t) Observation: q must be on a window of t a window b a Vis(t) q The quickest visibility query can be solved by computing a closest point in each window of t, using the shortest path to segment queries t s

The simple polygon case is easier Observation: Only one window needs to be considered Difficulty for polygons with holes: have to consider many windows s t s q t

A polygonal domain h = 3 n = 32 A polygon P of h holes with a total of n vertices h could be much smaller than n Complexities are better measured by h instead of n O(n2) vs. O(n + h2) h = 3 n = 32

Previous work: Simple polygons Shortest-path-to-segment queries Arkin et al. 2015, Chiang and Tamassia 1997 Preprocessing time and space: O(n) Query time: O(log n) Quickest visibility queries Arkin et al. 2015 Apply the shortest-path-to-segment query on the single window

Previous work and our result: Polygonal domains Shortest-path-to-segment queries Quickest visibility queries Preprocessing Space Query time O(n2 2α(n) log n) O(log2 n) Arkin et al. 2015 O(n3log n) O(log n) O(n) O(h log n/h) This talk Assume SPM(s) has been computed in O(n log n) time Preprocessing Space Query time O(n2 2α(n) log n) O(K log2 n) Arkin et al. 2015 O(n8 log n) O(n7) O(log n) O(n log h + h2 log h) O(n log h + h2) O(h log h log n) This talk K: the size of the visibility polygon Vis(t) of the query point t, and K = O(n)

The Quickest Visibility Queries - O(h log h log n) time A preliminary result: O((K+h) log h log n) query time First, compute Vis(t) and find all O(K) windows O(K h log n/h) time, if applied our shortest-path-to-segment queries on each window Reduce the time to O((K+h) log h log n) Goal: find a closest point q in all windows q t s

Extended-windows t s Extended-windows: Extend each window to t q is also the closest point on extended-windows Assumption: q is not an endpoint of these extended-windows Otherwise, find a shortest path from s to each endpoint Observation: if q is on an extended-window w, then π(s,q) arrives at q from the left or the right side of w S1: The set of points on all extended-windows whose shortest paths are from the left side q1: a closest point in S1 q2: a closest point for the right side q is either q1 or q2 Assume q is q1 w q t s

Computing q (= q1) Prune some (parts of) extended-windows For an extended-window w, if we know that a sub-segment w’ of w does not contain a closest point, then w’ can be pruned Observation: For any point p on an extended-window, if π(s,p) intersects another extended-window, then p cannot be a closest point and can be pruned p a t s

The pruning principle Consider two extended-windows ta and tb, and three shortest paths from: π(s,a), π(s,b), π(s,t) Case 1: no pruning can be done Case 2: the entire tb can be pruned Case 3: the sub-segment tc can be pruned b b a a a b c p p s s s t t t Case 1 Case 2 Case 3

An example and the algorithm Step 1: Pruning Step 2: Compute a closest point from s to each remaining sub-segment O((K+h) log h log n) time in total 6 5 4 2 7 8 3 1 9 s t 10

Reducing the query time: O((K+h) log h log n)  O(h log h log n) Main Idea: Instead of Vis(t), only compute a special subset S(t) of O(h) windows Lemma: a closest point q must be on a window of S(t) Apply the preliminary algorithm on all windows of S(t) How to find S(t)? Extended corridor structure

Defining the window set S(t) q s a t

Defining the window set S(t) q b s t a t

Thank you for your attention! 6 5 4 2 7 8 3 1 9 s t 10

Shortest-path-to-segment queries Our approach: Using a decomposition D of P Bisectors of the shortest path map SPM(s) of s V: the set of all intersections between bisectors and obstacles, and triple points (intersections of bisectors) All shortest paths from s to all points of V Remove all bisectors The resulting decomposition is D b a s

Important properties of the decomposition D D can be computed in O(n) time from SPM(s) Each cell is simply connected After O(n) time preprocessing, given any segment t in a cell C, a shortest path from s to t can be computed in O(log |C|) time For any segment t, t can intersect O(h) cells For any segment t in P, the shortest path from s to t can be computed in O(h log n/h) time by a “pedestrian” algorithm t b a t s

Important properties of the decomposition D D can be computed in O(n) time from SPM(s) Each cell is simply connected Each cell C has two super-roots r1 and r2, such that for any point t in C, the shortest s-t path is the concatenation of a shortest s-r path and a shortest r-t path in C, for some super-root r After O(n) time preprocessing, given any segment t in a cell C, a shortest path from s to t can be computed in O(log |C|) time For any segment t, t can intersect O(h) cells For any segment t in P, the shortest path from s to t can be computed in O(h log n/h) time by a “pedestrian” algorithm t r2 t b a t r1 s

The pruning principle Consider two extended-windows ta and tb, and three shortest paths from: π(s,a), π(s,b), π(s,t) Case 1: no pruning can be done Case 2: the entire tb can be pruned Case 3: the sub-segment tc can be pruned b b a a a b c p p s s s t t t Case 1 Case 2 Case 3

An example and the algorithm Step 1: Pruning Step 2: Compute a closest point from s to each remaining sub-segment O((K+h) log h log n) time using the decomposition D only need to consider O(h) cells of D 6 5 4 2 7 8 3 1 9 s t 10

A summary on the preliminary result Preprocessing time: O(n log h + h2 log h) Space: O(n log h + h2) Query time: O((K+h) log h log n) The quadratic preprocessing is only for computing the windows of t A new problem: Given a query set of k=O(n) segments in P intersecting at a point t, find the closest point on these segments Preprocessing time and space: O(n log h) Query time: O((k+h) log h log n) O(n log h) O(n log h) If the windows are given q s t