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; |
Ch.1, pp.27-32, pp.36-41 |
||||
| Thurs 18Sep | Trapezoidalization; |
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 |