Let SS be a connected planar polygonal subdivision with n edges that we want to preprocess for point-location queries, and where we are given the probability γiγi that the query point lies in a polygon PiPi of SS. We show how to preprocess SS such that the query time for a point p∈Pip∈Pi depends on γiγi and, in addition, on the distance from p to the boundary of PiPi—the further away from the boundary, the faster the query. More precisely, we show that a point-location query can be answered in time View the MathML sourceO(min(logn,1+logarea(Pi)γiΔp2)), where ΔpΔp is the shortest Euclidean distance of the query point p to the boundary of PiPi. Our structure uses O(n)O(n) space and O(nlogn)O(nlogn) preprocessing time. It is based on a decomposition of the regions of SS into convex quadrilaterals and triangles with the following property: for any point p∈Pip∈Pi, the quadrilateral or triangle containing p has area View the MathML sourceΩ(Δp2). For the special case where SS is a subdivision of the unit square and γi=area(Pi)γi=area(Pi), we present a simpler solution that achieves a query time of View the MathML sourceO(min(logn,log1Δp2)). The latter solution can be extended to convex subdivisions in three dimensions.
- Point location,Quadtree, Mesh generation