Computational geometry: Syllabus and links

Links: Here is a detailed schedule of the class, to be updated as the semester progresses:

1/21 Introduction.
Finding 3 collinear points.
Finding the closest pair of points.
Reading: CLRS 33.4
1/23 Finding the closest pair of points.
Geometric primitives (area of a triangle, orientation, segment intersection).
Homework 1
Reading: OR 1.3-1.5
1/28 Finish: primitives for segment intersection.
Finding fixed-radius near neighbors.
Reading: David Mount notes L2
1/30 Finish: Finding fixed-radius near neighbors.
Convex hull in 2D: naive, gift wrapping and quickhull algorithms.
Reading: OR 3.1, 3.2, 3.3, 3.4
Programming assignment 1. Startup code is here: code (due Thu 2/6)
2/4 Convex hull in 2D: Graham scan and lower bound.
Reading: OR 3.5, 3.6
2/6 Convex hull in 2D: Incremental and divide-and-conquer algorithms.
Reading: OR 3.7, 3.8
2/11 Art gallery problem. Fisk's sufficiency proof.
Reading: chap 1, OR
Programming assignment 2. Startup code is here: code (due Thu 2/20)
Homework 2 (due Thu 2/20)
2/13 Polygon triangulation in quadratic time by ear removal.
Reading: chap 1 OR
2/18 Orthogonal line-segment intersection.
General segment intersection and Bentley-Ottman sweep.
Reading: chap 2.1 [3MC], notes (by Michiel Smid)
2/20 Monotone polygons. Triangulation of a monotone polygon.
Reading: chap 2.1 OR
2/25 Trapezoidalization. Partition into monotone polygons. An O(n lg n) triangulation algorithm.
Reading: chap 2.1, 2.2 OR
2/27 Range searching. kd-trees.
Reading: chap 5.1, 5.2 [3MC]
3/4 Range tree.
Reading: chap 5.3 [3MC]
3/6 Recap. Higher dimension range tree.
Reading: chap 5.4, 10.1 [3MC]
SPRING BREAK
3/25 Programming assignment 3: kd-trees. Startup code is here. Part 1 due Tue 4/1, Part 2 due Tue 4/8.
Interval tree. Orthogonal segment-segment intersection queries (window queries).
Reading: chap 10.1 [3MC]
3/27 Orthogonal segment-segment intersection queries (window queries).
Voronoi diagrams.
Reading: chap 5 [OR]
4/1 Voronoi diagrams.
Reading: chap 5 [OR]
4/3 Class cancelled.
4/8 Voronoi diagram properties.
4/10 Overview of Fortune's algorithm.
Applications of Voronoi diagrams and Delaunay triangulations: nearest neighbors, larget empty circle, MST, TSP, median axis
Reading: chap 5 [OR]
4/15 Delaunay triangulations. Edge flipping algorithm.
4/17 Delaunay triangulation - Randomized incremental construction.
4/22 Delaunay triangulation - Connection to 3D convex hull.
Point-in-polygon for convex and non-convex polygons.
4/24 Project check point.
Polygon-polygon intersection for convex and non-convex polygons.
Finding the extreme point of a convex polygon in O(lg n) time.
4/29 Motion planning in 2D: shortest path in a simple (non-convex) polygon with the funnel algorithm. Shortest paths among polygonal obstacles via visibility graph. Computation of the VG with plane sweep.
5/1 Project check point.
Computation of the VG with plane sweep.
Point-in-polygon intersection with Dobkin-Kirkpartick hierarchy.
5/6 Motion planning in 2D: translating a disk or polygonal robot. Minkowski sums. VG approach vs SPM approach. Motion planning in 3D, ideas.
Class feedback forms.
May 14th, 2-5pm Project demos.


Last modified: Tue May 6 12:52:04 EDT 2014