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: 9728834723
Email: xguo at utdallas.edu
Office hours: M/W 4:00pm  5:30pm



Prerequisites
: 
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 indepth 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 Applicationoriented 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:
 Programming
Assignments: 30%
 Assignment 1 (15%)
 Assignment 2 (15%)

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 (35 papers, throughout the semester).
 Submit
your own onepage course project proposal (deadline: TBA).
 Implement
basic functionalities and user interface before the midterm
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.22.5 
2 
9/1:
no class (Labor Day) 

9/3:
Curves and Interpolation 
3.1,
3.2, 7.17.5 
3 
9/8:
Bernstein Basis and Bezier Curves 
4.1,
5.15.4 
9/10:
Bernstein Basis and Bezier Curves 
6.16.4 
4 
9/15:
Curve Generation, Rational
Representation 
7.8,
12.112.2 
9/17:
Rational Representation, Splines 
12.112.2,
13.113.3 
5 
9/22:
Blossoming and BSplines 
4.4,
8.18.9, class notes 
9/24:
Blossoming and BSplines 
4.4,
8.18.9, class notes 
6 
9/29:
Blossoming
and BSplines (Assignment 1 due) 
8.18.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:
TensorProduct Surfaces 
14.114.13 
9 
10/20:
Bezier Triangles 
17.117.10 
10/22:
Subdivision Surfaces, Differential
Geometry I 
21.221.7,
10.110.4 
10 
10/27:
Differential Geometry II 
19.119.6 
10/29:
Polygonal Mesh, Implicit
Representation 

11 
11/3:
FreeForm 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.


