CSC 274 Computational Geometry

Fall 2003

Joseph O'Rourke

Class Times: Tu/Th 10:30-11:50AM

Location: Seelye 212

Office Hours: Schedule & Office Hours

Prerequisites:  MTH 153 (Discrete) and CSC 112 (CS-2).  Because this course is only offered every other year, those with a strong enough background in mathematics may take it without having yet taken Discrete, by permission of instructor.  Sufficiently advanced math majors who have not taken CSC 112 may take the course by permission of instructor.

Relation to CS Major:  Satisfies the "Theory" requirement:  either Algorithms (CSC 252) or Programming Languages (CSC280) or Computational Geometry (CSC274).  [To use this to satisfy the CS requirement, you must have previously taken CSC 112.]

Textbook (required): Computational Geometry in C (2nd ed.) by Joseph O'Rourke.  My other books, available in the library, could be useful resources.
 

Course Description (informal):

The focus of this course is the design and analysis of geometric algorithms.  This field sits at the nexus of computer science and discrete geometry, with ties to many application areas, including computer graphics, robotics, GIS (Geographic Information Systems), engineering, and manufacturing.  The topics can be vieTues as a subfield of data structure and algorithm design, but it has developed into a specialty of its own.  We will cover the major geometrical structures---triangulations, convex hulls, Voronoi diagrams, arrangements of lines; the major techniques---plane sweep, reduction to combinatorics, lifting to a higher dimension; and the major application areas listed above.
The topic is sufficiently new that there remain many unsolved problems, and we will explore several, both in class and in assignments/projects.

Assignments:  Students will have weekly assignments, involving both theory (mathematics, or paper-and-pencil design of algorithms), and implementations (either de novo programs in C or C++, or extensions of existing software, either mine or CGAL).  Those with strengths in either direction may emphasis one or the other. Assignments will be distributed by Thursday's class, and are due in one week on the following Thursday.

Collaborations: Students may collaborate with each other on all assignments except for A5, and on the project. I will expect somewhat more work and quality from n students working together than from a student working on her own.

Midterm:  There is no midterm, but rather just a two-week assignment near Fall Break. There are three distinctions between this the other assignments: (1) This is the only assignment on which you may not collaborate with other students; (2) You have two weeks rather than one week for this assignment; (3) It will count as two assignments.

Final/Project: Students will have an option of doing a project, or taking a final, take-home exam. Projects include a brief, preliminary class presentation. I hope most students will chose to do a project.

Grading Weights:  Assignments: 75% (including the midterm assignment); Project or Final Exam: 25%.

 

Syllabus (detailed):
 

Week
Date
Topic
Textbook coverage
Links Assign Out
Assign Due In
0 Thurs 4 Sep Course Overview; Art Gallery Theorems Preface x-xiii; Ch. 1, pp. 1-11   A1

1 Tues 9Sep Triangulation, area of polygon Ch.1,
pp.11-24
Art Gallery applet (McGill);
Art Gallery applet (UIUC)


  Thurs 11 Sep Triangulation, implementation Ch.1,
pp.24-32
  A2 In:A1
2 Tues 16 Sep

Review of A1;
Area & Segment Intersection

Ch.1,
pp.27-32, pp.36-41
 

  Thurs 18Sep

Trapezoidalization;
Monotone Moutains;
Fat rectangle partitions

Ch.2,
pp.47-56
  A3
A2
3 Tues 23 Sep Review of A2; Staircase.C
 

  Thurs 25 Sep Monotone Moutains Ch.2, pp.51-56   A4 In:A3
4 Tues 30 Sep Review of A3; Convex hulls; QuickHull Ch.3,
pp.63-72
 

  Thurs 2 Oct QuickHull analysis
  A5 In:A4
5 Tues 7 Oct Review of A4
Graham scan
Ch.3,
pp.72-87
Graham applet (Princeton);
Graham applet (RPI)


  Thurs 9Oct graham.c; Lower bound; Divide and Conquer Ch.3,
pp.91-95, p.100
 
[Nothing due]
6 Tues 14 Oct FALL BREAK    

  Thurs 16 Oct Polyhedra
Platonic solids
Euler's formula
4D Polytopes
Ch.4,
pp.101-109.
Alicia Stott;
120-cell+
A6 In:A5
7 Tues 21 Oct C.H. Algorithms Divide & Conquer
Incremental Alg.
Ch.4,
pp. 109-117.
3D applet (Australia)


  Thurs 23 Oct Review of A5
Incremental Algorithm

  A7: chull.c In:A6
8 Tues 28 Oct Review A6;
Preview of A7;
Data structures for polyhedra;
Volume comp;
Incremental code
Ch.4,
pp.117-123; pp. 141-145, pp.146-149.
 

  Thurs 30 Oct 3D shadows
4D shadows
Hypercube; A8: GEB
Ch.4,
pp. 150-154. Ch.6,
p.214.
4D Tutorial; Tesseract Tut.; Hypercube Rot A8: Shadows In: A7
9 Tues
4 Nov
A7 review; GEB revisited; Medial Axis; Grassfires; Roofs Ch.5,
pp. 155-165.
Straight Skeleton applet (McGill)

  Thurs
6 Nov
Straight Skeleton; Building roofs; constant-slope
  A9: Project Thoughts
In: A8
10 Tues
11 Nov
Voronoi Diag. Delaunay Tri.; Basic Properties; DT Lemma
Incremental Alg.
Flip Alg.
  Cornell applet;
VoroGlide; voronoi.com



  Thurs
13 Nov
Applications of VD/DT; dt2.c Ch.5,
pp. 169-177.
  A10: empty circle

In: A9
11 Tues
18 Nov
DT from 3D convex hull
Paraboloid
dt2.c, dt4.c
Ch.5,
pp. 186-188.
Parabolid applet (Australia)
 

  Thurs
20 Nov
Project
 

In: A10
12 Tues
25 Nov
One-cut Theorem
 

  Thurs
27 Nov
THANKSGIVING
 
 
13 Tues
2 Dec
Flat-folding origami: one-vertex folds Origami In Action (Lang)  

  Thurs
4 Dec
Robot Arm Motion; Pantographs Ch.8,
pp. 322-331.
 
In: Project Plan
14 Tues
9 Dec
Project Presentations    

  Thurs
11 Dec
Locked Chains; Protein Folding Animations  

Exam 16-19 Dec

  Project/Exam