1/20, 1/22 
Introduction.
Finding 3 collinear points. Finding the closest pair of points. Lab: Unix warmup  Using make  Emacs and vim  C 101  Basics I  Basics II Reading: CLRS 33.4 Programming assignment 1 [finding collinear points] (due Tue 2/3) 
1/28, 30  Geometric primitives (area of a triangle, collinear, leftof, segment intersection).
Reading: OR 1.31.5 Internet sites I found useful:

2/4, 2/6, 2/10  Convex hull in 2D:
Reading: OR 3.5, 3.6, 3.7, 3.8 Programming assignment 2 [CH with Graham scan] (due Tue 2/17) Internet sites that I found useful:

2/12, 2/17  Line segment intersection:
Reading: chap 2.1 [3MC] Internet links that I found useful: Programming assignment 3 [Orthogonal segment intersection with line sweep] (due Thu Febr 26th) 
2/19, 2/24  Art gallery problem.
Reading: chap 1 [OR] Internet links that I found useful:

2/26, 3/3, 3/5  Polygon triangulation
Reading: chap 2 [OR] Internet links that I found useful:

3/24, 3/26  Polygon triangulation via trapezoidalization: ending details.
Class feedback. Pointinpolygon algorithms.
Reading: chap 5.1, 5.2, 5.3 [3MC] Internet links that I found uesful: Programming assignment 5 (due Thu 4/2) 
3/31, 4/2, 4/7, 4/9, 4/14  Range searching. kdtrees. Range trees. Demos for assignment 5.
Reading: chap 5 [3MC] Internet links I found useful:
Programming assignment 6: kdtrees (part I due 4/9, part II due 4/14) 
4/16  Voronoi diagrams.
Slides: voronoi.pdf Reading: Reading: chap 5 [OR] Internet links I found useful:

4/21, 4/23  Voronoi and Delaunay. RIC. Applications.
Slides: delaunay.pdf Internet links I found useful:
Programming assignment 7: motion planning (due last class, Tue may 5th) 
4/28, 4/30, 5/5  Motion planning.
Slides: motion.pdf Internet sites that I found useful:
