6.838, Computational Geometry; Fall 2001

Point Location

Sergi Elizalde & David Pritchard


Naïve Algorithm - Idea

Want to divide the plane into easily manageable sections.

Idea: Divide the graph into slabs. Draw a veritcal line through every vertex of the graph:

Each slab contains no vertices, so the regions within are nicely ordered from top to bottom

We take advantage of this fact by storing the segments that each slab intersects in an array

Algorithm for Point Location

- Do a binary search by x-coordinate of q against the x-coordinates of the vertices of S to determine which slab q lies in

- Do a binary search of q against the segments intersecting this slab

- The label of the edge just below q tells us which face the trapezoid, and thus q, lies in