Fall 2008 CS 6v81 - 501

Geometric Modeling and Processing

Monday and Wednesday 7:00pm - 8:15pm, ECSS 2.412

Instructor :

(Tiger) Xiaohu Guo
Office: ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: M/W 4:00pm - 5:30pm


Pre-requisites :

Formal prerequisite for this course is Computer Graphics (either undergraduate or graduate level). You should have familiarity with basic calculus, linear algebra and geometry, and good working knowledge of graphical programming (such as OpenGL, DirectX, or Java3D).

Course Description :
This class is intended to give students both a broader understanding of geometric modeling and processing (through class discussions and homework assignments) and in-depth experience with a particular geometric modeling and processing topic (through a course project). Among the specific topics to be covered are:
  • Terminology, coordinate systems, and implicit forms
  • Basic differential geometry of curves and surfaces
  • Parametric and spline representations of curves and surfaces and their uses
  • Subdivision surfaces
  • Solid modeling paradigms and operations
  • Geometric mesh processing, including mesh simplification, reconstruction, parameterization, editing, deformation, and morphing
  • Advanced or Application-oriented topics
Learning Objectives :

After successful completion of this course, the students will be:

  • Comfortable with all of the major terms and concepts in geometric modeling
  • Able to apply concepts to specific geometric modeling problems
  • Able to implement key parts of certain modeling techniques
  • Extremely familiar with at least one topic of current interest related to geometric modeling and processing
  • Able to independently read and study current geometric modeling and processing research publications
  • Prepared to pursue further research in geometric modeling and processing
Textbooks :
  • Required: Curves and Surfaces for CAGD: A Practical Guide, by Gerald Farin, Morgan Kaufmann, 2001. ISBN: 1558607374.
Grading Policy :

There will be No Midterm Exams and No Final Exams! The final grade will be based on programming assignments, project proposals, demos, presentations, and reports. Each student is required to complete two assignments and a final project. The programming assignments and projects can be implemented in any of your prefered programming environment (e.g. Windows, C++, OpenGL). All the assignments and projects are mandatory. The final grade will be composed of the following two parts:

  1. Programming Assignments: 30%
    - Assignment 1 (15%)
    - Assignment 2 (15%)
  2. Final Project: 70%
    - Project proposal (10%)
    - Midterm demo with preliminary results (10%)
    - Final demo and presentation (10%)

    - A working system and software codes (30%)

    - Final Project Report (10%)

Project Plan and Deadlines:
  • Study a set of relevant papers (3-5 papers, throughout the semester).
  • Submit your own one-page course project proposal (deadline: TBA).
  • Implement basic functionalities and user interface before the mid-term check point (deadline: TBA).
  • Class presenation and final project demonstration (at the end of the semester, deadline: TBA).
  • Final report and source codes (at the end of the semester, deadline: TBA).
Class Attendance :

I expect the students to come to class, read and study the materials and textbook. Download and print available materials from WebCT prior to coming to class. The class schedule specifies the chapters to read for each topic covered. Primary material of this course will come from the required textbook. In addition, material from recent articles or relevant reference books will be presented. Numerous slides and video clips on graphics will be shown. Students are advised to attend the class and follow the lecture notes closely. It is the studentí»s responsibility to check what we covered in class and the announcements during class if he or she did not attend.

OpenGL Programming Guide and Environments :

Academic Honesty :

Copying source code from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying. You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above). In this case, you may be given a score of 0 for the assignment or project in question (and the other party will get a failure).

Class Schedule :
Week Monday (course slides) Reading from Textbook Wednesday (course slides) Reading from Textbook
1 8/25: Points, Vectors, Barycentric Coordinates 2.1, 3.5 8/27: Affine Maps, Parametric/Implicit Forms 2.2-2.5
2 9/1: no class (Labor Day)   9/3: Curves and Interpolation 3.1, 3.2, 7.1-7.5
3 9/8: Bernstein Basis and Bezier Curves 4.1, 5.1-5.4 9/10: Bernstein Basis and Bezier Curves 6.1-6.4
4 9/15: Curve Generation, Rational Representation 7.8, 12.1-12.2 9/17: Rational Representation, Splines 12.1-12.2, 13.1-13.3
5 9/22: Blossoming and B-Splines 4.4, 8.1-8.9, class notes 9/24: Blossoming and B-Splines 4.4, 8.1-8.9, class notes
6 9/29: Blossoming and B-Splines (Assignment 1 due) 8.1-8.9 10/1: Subdivision Curves 21.1
7 10/6: Midterm Presentation   10/8: Midterm Presentation  
8 10/13: Subdivision Curves 21.1 10/15: Tensor-Product Surfaces 14.1-14.13
9 10/20: Bezier Triangles 17.1-17.10 10/22: Subdivision Surfaces, Differential Geometry I 21.2-21.7, 10.1-10.4
10 10/27: Differential Geometry II 19.1-19.6 10/29: Polygonal Mesh, Implicit Representation  
11 11/3: Free-Form Deformation (Assignment 2 due)   11/5: Surface Simplification  
12 11/10: Surface Simplification   11/12: Level of Detail  
13 11/17: Surface Parameterization   11/19: Geometry Image  
14 11/24: Conformal Parameterization   11/26: no class  
15 12/1: Surface Editing   12/3: Spectral Analysis  
17 12/15: Final Presentation and Demo      
  • Important: The dates in this schedule may change due to the class level. If the class needs more time and examples to understand a concept I will modify the schedule. If the class is ready to skip a chapter or go faster I will modify the schedule. Therefore, it is the student's responsibility to check what we covered in class and the changes in the schedule announced during class.