1 / 18

An Introduction to Computational Geometry

An Introduction to Computational Geometry. Joseph S. B. Mitchell Stony Brook University. Point Location. Point-in-polygon test: Is point q inside simple polygon P ?. Naïve: O(n) per test. CG: O(log n). q. P n- gon. 5 crossings  q inside. Point Location. q.

Download Presentation

An Introduction to Computational Geometry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University

  2. Point Location • Point-in-polygon test: Is point q inside simple polygon P ? Naïve: O(n) per test CG: O(log n) q P n-gon 5 crossings  q inside

  3. Point Location q Trapezoid under the mouse is highlighted More generally: Search for which face of a planar map contains query point q Example: Map of Manhattan Applet

  4. One Method: Partition the Plane into Slabs Query time : O(log n) binary search in x and then binary search in y direction. Storage space O(n2) n/2 n/2 Computational Geometry, WS 2007/08 Prof. Dr. Thomas Ottmann

  5. Valuable Resources Preprocessing time Memory/storage: how big is the data structure? Query time

  6. Point Location in 1D Given a partition of the x-axis by a set of points {x1 , x2 , …}. Preprocess for location of a query point q: Sort the xi ‘s O(n log n) time, O(n) space, O(log n) query time Can we achieve these same bounds (optimal) in 2D?

  7. An Optimal Method: Kirkpatrick Hierarchical Triangulation • Begin with full triangulation • Remove a “large” set of low-degree ( 8) vertices that are independent (such a set always exists in a planar graph, by Euler) • Retriangulate the resulting “holes” • Repeat until only the big outer triangle remains • Build DAG for searching (no two adjacent) O(n) “large” :  Cn  only O(log n) iterations

  8. [O’Rourke, page 277] Proof uses Euler’s formula (f-e+v=2) and the fact that each vertex has degree at least 3 in our graph G.

  9. Proof of Theorem 7.10.1 Contradicts ∑ ≤ 6n-12 • Sum of vertex degrees = ∑= 2E • Recall: in a planar n-vertex graph: E≤3n-6 • Thus, ∑ ≤ 6n-12 • Claim: There are ≥n/2 vertices of degree ≤8 • Pf: Assume there are > n/2 vertices of deg ≥9 Then, sum of degrees of these is ≥ 9n/2, and the other vertices have deg ≥3, so the total degree sum, ∑, would satisfy: ∑ ≥ 9n/2+3n/2=6n

  10. Independent Set Algorithm • Input: planar graph G • Output: an independent set I of vertices of low degree (≤ 8) • I ←Ø • Mark vertices of G of degree ≥ 9 • While some nodes are unmarked, do • Choose an unmarked vertex v (lowest index) • Mark v and all neighbors of v • I ←I {v}

  11. Analysis of Algorithm Initially: the unmarked vertices are those with deg≤8. Each time we mark v, and the neighbors of v, the number of unmarked nodes goes down by at most 9 Thus, at least 1/9-th of the m unmarked (deg ≤8) vertices are added to I We know m ≥ n/2 Thus, I ≥ n/18 Thus, the Algorithm always gives an independent set of deg ≤8 vertices of size ≥ n/18

  12. Kirkpatrick Example Full triangulation, T0 Triangles in T0

  13. T0 Independent sets: {2,5} {3,7} {4} {6} T1

  14. T2 T3 Independent sets: {2,5} {3,7} {4} {6} Final DAG hierarchy and search path for query point p T4

  15. Another Example 4 Build Kirkpatrick hierarchy, for extra practice. (note that vertex 2 has “high” degree) 10 5 2 8 9 3 6 1 7

  16. Detecting if a unit disk contains a site: Why locating in Delaunay is not enough

  17. Example 4 cocircular points, but Delaunay diagram is a triangulation

  18. Examples: Recognizing a Voronoi Diagram

More Related