Boaz BenMoshe Matthew Katz Joseph Mitchell

Slides:



Advertisements
Similar presentations
Two Segments Intersect?
Advertisements

Polygon Triangulation
Advanced Topics in Algorithms and Data Structures Lecture 7.2, page 1 Merging two upper hulls Suppose, UH ( S 2 ) has s points given in an array according.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Brute-Force Triangulation
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
Bichromatic Separating Circles. Problem Given two sets of points, R and B ∈ R ² where | R | = n and | B | = m: – Find the smallest circle containing all.
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:
Advanced Topics in Algorithms and Data Structures Lecture 7.1, page 1 An overview of lecture 7 An optimal parallel algorithm for the 2D convex hull problem,
Zoo-Keeper’s Problem An O(nlogn) algorithm for the zoo-keeper’s problem Sergei Bespamyatnikh Computational Geometry 24 (2003), pp th CGC Workshop.
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.
Lecture 2 Line Segment Intersection Computational Geometry Prof.Dr.Th.Ottmann 1 Line Segment Intersection Motivation: Computing the overlay of several.
Brute-Force Triangulation
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Path Planning for a Point Robot
Approximation algorithms for TSP with neighborhoods in the plane R 郭秉鈞 R 林傳健.
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
2IL50 Data Structures Fall 2015 Lecture 9: Range Searching.
Lecture 15 Computational Geometry Geometry sweeping Geometric preliminaries Some basics geometry algorithms.
Problem Definition I/O-efficient Rectangular Segment Search Gautam K. Das and Bradford G. Nickerson Faculty of Computer science, University of New Brunswick,
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
Graphing in 3-D Graphing in 3-D means that we need 3 coordinates to define a point (x,y,z) These are the coordinate planes, and they divide space into.
3. Polygon Triangulation
STANDARD FORM OF EQUATIONS OF TRANSLATED CONICS
STANDARD FORM OF EQUATIONS OF TRANSLATED CONICS
Objectives Identify and transform conic functions.
Computational Geometry
Geometric Data Structures
An Introduction to Computational Geometry
Largest Red-Blue Separating Rectangles
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Haim Kaplan and Uri Zwick
Lectures on Network Flows
Query Processing in Databases Dr. M. Gavrilova
KD Tree A binary search tree where every node is a
Orthogonal Range Searching and Kd-Trees
Motion Planning for a Point Robot (2/2)
Lecture 10: Sketching S3: Nearest Neighbor Search
Computational Geometry (35/33)
Near-Optimal (Euclidean) Metric Compression
Chapter 7 Voronoi Diagrams
HW2 EE 562.
Computing Shortest Path amid Pseudodisks
Introduction Wireless Ad-Hoc Network
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Covering Uncertain Points in a Tree
On the Geodesic Centers of Polygonal Domains
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
Joseph S.B. Mitchell, Stony Brook University
Aggregate-Max Nearest Neighbor Searching in the Plane
Haitao Wang Utah State University SoCG 2017, Brisbane, Australia
Visibility Preserving Terrain Simplification An Experimental Study
Computational Geometry
Distributed Forces: Centroids and Centers of Gravity
Part- I {Conic Sections}
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
CMPS 3130/6130 Computational Geometry Spring 2017
Clustering.
STANDARD FORM OF EQUATIONS OF TRANSLATED CONICS
Boaz Ben-Moshe Binay Bhattacharya Qiaosheng Shi
Presentation transcript:

Boaz BenMoshe Matthew Katz Joseph Mitchell SoCG 2001   Farthest Neighbors and Center Points in the Presence of Rectangular Obstacles  Boaz BenMoshe Matthew Katz Joseph Mitchell 5/2/2019

Model and Problems § Input: {O,P} O: a set of m disjoint Obstacles (axis-aligned rectangles) in the plane. P: a set of n points in the free space F=R2 - O. §        Distances: The distance between two points d(a,b) is the shortest L1 obstacle-avoiding path between a and b. §        Motivation: VLSI systems design. Plotter movement. 5/2/2019

Problems: Preprocess for farthest neighbor queries (FVD representation). Farthest (L1) Voronoi Diagram: (n*m) complexity Farthest Neighbor Query: 5/2/2019

Problems: Center point (set): a point c that minimizes max{d(p,c) | pP}. 5/2/2019

Problems: Approximations: given e>0, filter out a large portion of the points. only O(1/e) of the points remain. approximate the diameter and radius, using the remaining points. 5/2/2019

Previous Related Results |P| = n , |O| = m. Nearest neighbor queries: O((m+n) log(m+n)) preprocessing, O(log(m+n)) query [CKV], [M] All farthest neighbors: O(m2 + n2 log m) [AC] Center Point: O(m2 * n) (center set) [CSK] No previous results for the approximation problems. Our results: Farthest neighbor queries: O(m*n log(m+n)) preprocessing, O(log(m+n)) query All farthest neighbors: O(m*n log(m+n)) Center Point: O(m*n log(m+n)) Near linear-time approximations. 5/2/2019

Preliminaries 2.1  Claim: For any two points p, q, the shortest path (between p and q) is either X-monotone or Y-monotone (or both). 5/2/2019

Preliminaries 2.2  Claim: If there exists an X-monotone path (between p and q) and a Y-monotone path, then there exists an XY-monotone path. 5/2/2019

Preliminaries 2.3  Corollary: If there exists an X-monotone path between p and q, then all shortest paths between p and q are X-monotone. (Alternatively, Y-monotone). 5/2/2019

Preliminaries The farthest neighbor from p on the left (p.left): choose the farthest among the points to the left of p with an X-monotone path to p. (right, above, below). 5/2/2019

Preliminaries 2.4 Claim: The farthest neighbor from p is max (p.left, p.right, p.above , p.below). 2.5 Claim: One can divide the DS for finding the farthest point from p into four independent DSs. We consider the DS for farthest neighbor on the left. 5/2/2019

3.1 Theorem d(p2,q)  d(p1,q) + dx – dy Given 3 points p1, p2, q such that: p2.x <= p1.x <= q.x The Path(p1,q) is X monotone dx = p1.x – p2.x , dy = |p1.y – p2.y| d(p2,q)  d(p1,q) + dx – dy Note: If dx  dy  d(p2,q)  d(p1,q) 5/2/2019

Proving Theorem 3.1 Proof (Sketch only): if dy = 0, d(p2,q)  d(p1,q) + dx  if there are no obstacles in between p2 and p1 – easy. else the obstacles can only affect d(p2,q) by making it longer. if dx = 0, d(p2,q)  d(p1,q) - dy  if there are no obstacles in between p2 and p1 - easy. else the obstacles can only affect d(p2,q) by making it longer. Let p’=(p1.x,p2.y) : d(p2,q)  d(p’,q) + dx  d(p1,q) +dx - dy. d(p2,q)  d(p1,q) + dx - dy. 5/2/2019

Constructing the Filter For each point in the input scene check whether it is a dominant point Defining: X-, X+, Y-, Y+. Focus on X-. 5/2/2019

Filtering example In the “average “ case the size of the remaining set of points is O(n). 5/2/2019

Constructing a DS for farthest neighbor queries (on the left) Events: Obstacles Points of X- A compact representation of all the sweep-lines is kept (DS(X-)). 5/2/2019

Updating the sweep-line The sweep line is the upper envelope of the distance functions from the points. 5/2/2019

Computing the Query Given query point q The farthest neighbor on the left is p3 (using DS(X-)). d(p3,q)=d(p3,q’)+d(q’,q) The farthest neighbor from below is one of the two extreme lower points. The farthest neighbor of q is the maximum over the 4 directional maximums. 5/2/2019

Center Point We may encounter local minima while approaching the radius. 5/2/2019

Computing the bisector bs(X-,X+): all points b s.t. b.left = b.right Resp. bs(Y-,Y+) Computing. Complexity. 5/2/2019

Computing the center point Possible positions: On the FVD edges. bisectors: bs(X-,X+), bs(Y-,Y+) Obstacle edges. 5/2/2019

Examples for Bisectors, Center Points 5/2/2019

Complexity of the Center Point algorithm Filtering: O(n log(n)) Computing DS(X-) : O(n m log(n+m) Computing the bs(X-, X+) : O(n m log(n+m)) Searching for Center Point : O(n m log(n+m)) Total complexity: O(n m log(n+m)) 5/2/2019

Approximations Given e > 0, find: Approximate Diameter D’: D(1 - e)  D’  D Approximate Radius R’: R  R’  R(1+ e) 5/2/2019

Constructing the approximation filter Given e > 0 , Divide the Y-range into O(1/e) horizontal slabs of height, e*D/2  h  e*D In each slab mark the leftmost and the rightmost points. Do the same with the vertical slabs. Remove all unmarked points. 5/2/2019

Conclusion Future research: Other types of obstacles. Improving the FVD representation / Proving a lower bound. Higher dimensions – a natural generalization exists. More info: (implementations, papers etc.) http://www.cs.bgu.ac.il/~benmoshe/PHD/SoCG01 Questions ?? 5/2/2019