UW home page

Last Updated: March 4, 2020


Syllabus

The following is an approximate syllabus for the course. This is meant only as a guideline; the topics taught on any particular day may change for various reasons. After each class, I will update this page with what was taught on a particular day.
  • Week 1 (January 6)
    • January 6: Organizational meeting, Background material on spaces, affine geometry.
    • January 8: Polynomials (monomials), Lagrange polynomials. Bernstein polynomials and Bezier curves. de Casteljau's algorithm.

  • Week 2 (January 13)
    • January 13: Triangle diagrams. Blossoming principle. de Casteljau revisited.
    • January 15: Subdivision. Degree Raising. Functional Bezier curves. Multilinear blossoming.

  • Week 3 (January 20):
    • January 20: Curve derivatives. Curve continuity. Cubic Hermite interpolation.
    • January 22: Change of basis via de Casteljau evaluation. Fast evaluation. Numerics, stability of repeated linear interpolation.
    • January 24: Finish stability of repeated linear interpolation. Triangle diagrams for interpolatory curves; Neville's algorithm. Root finding with Bezier representation.

  • Week 4 (January 27):
    • January 27: No lecture
    • January 29: B-splines. Lane-Riesenfeld. Knot multiplicity started.

  • Week 5 (February 3):
    • February 3: Knot multiplicity finished. Knot insertion. Triangle diagrams. Lane-Riesenfeld algorithm revisited. Lane-Riesenfeld, knots in geometric progression.
    • February 5:
    • Lane-Riesenfeld algorithm extended. B-spline Basis functions.

  • Week 6 (February 10):
    • February 10: Closed B-splines. Degree raising B-splines. Degree reduction. Direct manipulation.
    • February 12: Rational curves. Conic sections. Generalized barycentric coordinates.

  • Reading week (February 17):
    • No class

  • Week 7 (February 24):
    • February 24: Project overview. Generalized Bernstein polynomials. Triangular Bézier patches. Blossoms.
    • February 26: Derivatives. Storing control points: 3D and 2D arrays. Simple Triangular Bézier patches evaluation scheme.

  • Week 8 (March 2):
    • March 2: Storing control points: 1D array. Triangular Bézier patches evaluation schemes. Evaluation of Triangular Bézier patches on a grid of points. 3:1 subdivision, 2:1 subdivision, 4:1 subdivision. Cracking problems. Curve evaluation,
    • March 4: C0 continuity. Generalized C1 continuity. Surfaces above the plane. Tensor-product patches. Derivatives, C1 continuity. Tensor-product B-splines. Surfaces above planes.

  • Week 9 (March 9):
    • March 9: Evaluation methods for Tensor-product patches. Data interpolation: Lagrange surfaces. Triangular data fitting - Clough-Tocher
    • March 11: Powell-Sabin. Geometric continuity. Crossboundary constructions. Farin's conditions. Chiyokura-Kimura. Triangular data fitting - Shirman-Sequin.

  • Week 10 (March 16):
    • March 16: Nielson. Boundary curves. Herron. Gregory-Charrot.
    • March 18: Evaluating surface quality: line drawings, shaded images. Evaluating surface quality: curvature plots. More boundary curves (dBHS). Reflection lines, isophotes.

  • Week 11 (March 23):
    • March 23: Subdivision curves. Subdivision surfaces.
    • March 25: Higher dimensional simplices. S-patches. A-patches. Subdivision curves.

  • Week 12 (March 30):
    • March 30: Student Presentations.

Topics will include topics such as

  • Degree reduction
  • The Least
  • B-patches
  • S-patches
  • Wavelets
  • A-patches
  • Surface Pasting
  • Implicit surfaces
University of Waterloo | Computer Science Department | 200 University Ave. W. | Waterloo, Ontario Canada | N2L 3G1 | 519.888.4567 | http://www.cgl.uwaterloo.ca/~smann/cs779r/