CS 101.4: Algorithms in Geometry and Topology

Special Topics in Computer Science
2nd term, winter 2008-09

News!

As always, the latest news and updates are on Moodle.

Sample homework solution, use as a guide: PDF

Homework 2 assigned, due Tuesday, January 20: read and analyze Parallel Delaunay Refinement: Algorithms and Analyses

Lecture slides for lecture 2 on randomized incremental algorithm for convex hulls in 3D = Delaunay triangulations in 2D (1/13/2009): PDF

Parallel Delaunay Refinement: Algorithms and Analyses. Daniel Spielman, Shang-Hua Teng, and Alper Üngör. International Journal of Computational Geometry and Applications, vol. 17, no. 1, pages 1--30, 2007

Off-Centers: A new type of Steiner points for computing size-optimal quality-guaranteed Delaunay triangulations. Alper Ungor. Computational Geometry: Theory and Applications, vol. 42, no. 2, pp. 109--118, February 2009

Anisotropic Voronoi Diagrams and Guaranteed-Quality Anisotropic Mesh Generation. Francois Labelle and Jonathan Richard Shewchuk. Proceedings of the Symposium on Computational Geometry, pages 191--200, 2003: PDF

Anisotropic Diagrams: Labelle Shewchuk approach revisited. Jean-Daniel Boissonnat, Camille Wormser, and Mariette Yvinec. Manuscript, 2007: PDF

Lecture slides for lecture 1 on Delaunay triangulations and Voronoi diagrams (1/6/2009): PowerPoint | PDF

Slow transition to Moodle is under way.

Homework 1 assigned, due before class on January 15, see Moodle! Read and analyze Anisotropic Voronoi Diagrams


Course announcement flyer

Content

Mesh generation (2 weeks)
Surface reconstruction (3 weeks)
Surface smoothing, Mesh simplification (2 weeks)
Topological analysis and simplification (3 weeks)

Instructor  Shripad Thite
Occasional guest lecturers: TBA

Organization

Homework
In-class participation is essential!

Exams
There will be no exams.

Why you should take this course

The course is suitable for beginning graduate students and senior undergraduates. Students from Theoretical Computer Science and applied areas—Graphics, Applied Math, Physics, Engineering, Scientific Computing—who are interested in geometric algorithms will find the course especially useful, and might find a thesis research topic as an outcome of the course.

If you are interested in computational geometry and computational topology, you should take this course. If you are interested in algorithms and want to study algorithms for problems in computational geometry and topology, you should take this course. If you are a "consumer" of geometric algorithms, you should take this course to understand better how meshes and other geometric models are constructed and the inherent difficulties therein so that you can find work arounds or improve existing algorithms. If you are interested in accuracy and efficiency tradeoffs involved in any aspect of the geometry processing pipeline, you should take this course.

Last, but not the least, if you are interested in reading papers on and investigating problems of current research activity in a collaborative atmosphere, on the topics of this course, you should take this course.

Why I want to teach this course

My research is in algorithms, especially algorithms for problems in computational geometry and topology and their applications. During this course, I plan to introduce research problems of current interest after providing a quick but thorough survey of the basic algorithms and proof techniques that are necessary to attempt to solve these open problems. Thus, I would like to present a survey of computational geometry algorithms for the topics covered in this course. Further, I would like to encourage research collaborations with me and/or with other class participants on the open problems discussed in class.

To my knowledge, there is no other course at Caltech that provides an in-depth introduction to algorithms in computational geometry and topology as well as an introduction to approachable open problems in the field.

Finally, like any good teacher, I hope to learn a lot from the course participants, especially about problems that are most important in applications.

Weekly schedule and lesson plans

Subject to change! This schedule is ambitious and likely represents a superset of the topics we will cover in class. Topics that are not detailed in class can still be project topics.

Part 1. Mesh Generation
(2 weeks: Jan 6,8,13,15)

January 8: Guest lecture by Jeff Erickson (visiting Caltech Jan 7--10)

Voronoi diagrams in 2D and 3D, and applications
Discussion of general position / generic inputs
Duality
Delaunay triangulation
Empty circumball definition of Delaunay triangulation
Edge flips
Equivalence of Delaunay triangulation and convex hull one dimension higher
Two algorithms for Voronoi diagram / Delaunay triangulation: gift-wrapping algorithm for convex hulls, randomized incremental algorithm and its backward analysis
Delaunay triangulation as a "good-quality" mesh
Constrained Delaunay triangulation
Conforming Delaunay triangulation
Sliver tetrahedra in 3D Delaunay mesh: sliver exudation
Weighted Delaunay triangulation (a.k.a. "regular" triangulation)
Mesh quality improvement by Delaunay refinement: off-center insertion
Anisotropic Voronoi diagrams and their dual Delaunay triangulations
Worst-case and "nice" case complexity of Delaunay triangulations

Assigned reading:

Possible student presentations:
Possible homework exercises: Ancillary reading: Open problems / Project topics:


Note: Last day for adding courses is January 23.


Part 2. Surface Reconstruction
(3 weeks: Jan 20,22,27,29; Feb 3,5)

Curve and surface reconstruction from point samples
CoCone, Powercrust algorithms: Delaunay-based reconstruction from a "nice" (sufficiently dense) sample
Homeomorphic surface reconstruction: Necessary and sufficient conditions for recovering the topology of the original surface
Medial axis
Local feature size
Difficulty of reconstructing surfaces with sharp edges or cone points

Estimating the dimensionality of the surface from point samples
Skeleton

Moving Least Squares reconstruction
Implicit surfaces
Triangulating implicit surfaces: marching cubes, isotopic surface reconstruction

Assigned reading:


Ancillary reading:


Note: Midterm exam period is February 4--10. This course has no midterms.


Part 3. Smoothing and Mesh Simplification
(2 weeks: Feb 10,12,17,19)

Laplacian smoothing
Surface simplification using quadric error metrics

Variational surface approximation / simplification
Surface fairing

Assigned reading:


Ancillary reading:
Possible homework exercises:
Open problems / Project topics:


Note: Last day for dropping courses, exercising pass/fail option is February 25.


Part 4. Topological Analysis and Simplification
(3 weeks: Feb 24,26; Mar 3,5,10,12)

Homotopy
Polygonal schema

Homology
Topological persistence

Assigned reading:


Ancillary reading:
Possible student presentations:
Open problems / Project topics:
Graph problems on graphs embedded on surfaces: NP-hardness, complexity on special graphs (bounded genus, bounded treewidth, sparse)


Note: Final exam period is March 16--18. This course has no finals.