Course Title: Geometric Modeling
Time: 5:30 pm – 6:45 pm on Tuesday and Thursday
Location: HRBB 126
Credit Hours: 3 hours
Instructor: Wenping Wang
Office: Peterson 416
Office Hours: 4:00 pm to 5:00 pm, Tuesday and Thursday
This course provides a comprehensive foundation in geometric computing and shape modeling for graduate students who study or conduct research in visual computing, including computer graphics, computer vision, computer animation, VR/ CAD/CAM, scientific data visualization, and medical imaging.
The course will introduce the basic concepts of Euclidean geometry, affine geometry, projective geometry, and differential geometry, from a computational point of view. It covers geometric representations commonly used in visual computing, including Bezier curves and surfaces, B-spline curves and surfaces, subdivision surfaces, mesh surfaces, point cloud surfaces, and implicit surfaces, as well as the emerging neural implicit surface representation.
This class is intended to give students both a broader understanding of geometric and solid modeling (through class discussions and homework assignments) and in-depth experience with a particular geometric modeling topic (through a course project). This class is intended to provide the background necessary for students who may be conducting research that includes a geometric modeling component. Among the specific topics to be covered:
- Euclidean, affine, and projective geometry
- Differential geometry of curves and surfaces
- Parametric and spline curves and surfaces
- Subdivision curves and surfaces
- Implicit surfaces
- Mesh surfaces and point clouds
- Fitting curves and surfaces to data points
- Voronoi diagram and Delaunay triangulation. Mesh generation
- Solid modeling paradigms and operations
- Robustness and accuracy in geometric computations
- 3D reconstruction from point clouds or 2D images
- Neural representations and rendering
CSCE 441 (Computer Graphics) and 442 (Scientific Computing) are listed as prerequisites in the course catalog. These are not enforced requirements. While having these classes will be helpful, you should be able to do fine in the class even if you haven’t had them.
You are expected to be able to develop code in a general programming language (e.g. C++ or Python); some homework assignments may include coding components and you are expected to have significant coding in your course project.
It is assumed that you are familiar with linear algebra. Also, you should feel comfortable writing programs involving mathematical manipulation. For example, you should feel OK about writing a routine to find the determinant of a matrix, in the process of coding in a homework assignment. Some graphics (OpenGL) programming may be used, but if so, we will provide the necessary skeleton code and review/training so that those without such experience will be able to complete the work.
Course Learning Outcomes
By the end of the class, students should be able to:
- Define the major terms and concepts in geometric and solid modeling
- Determine appropriate methods for solving various geometric modeling problems
- Generate explicit or implicit curve or surface representations to fit given data points.
- Apply known algorithms to evaluating and manipulating different curve, surface, and solid representations.
- Synthesize existing research literature about a topic of current geometric interestCreate a new approach to address a geometric problem of current interest and evaluate its effectiveness.