ECS 178 GEOMETRIC MODELING (4 units)

Format
Lecture: 3 hours
Discussion: 1 hour

Catalog Description:
Mathematical and interactive graphics techniques for defining and manipulating geometrical shapes, with applications in geometric modeling environments, e.g., computer animation systems, computer-aided design systems (car, aircraft and ship design), or creation of continuous geometry and functions from points.

Prerequisites: ECS 175

Credit restrictions/cross listings: None

Summary of course contents

  1. Basic Theory of Curves and Surfaces
    1. Mathematical representation of shapes
    2. Parametric representation of curves and surfaces
    3. Evaluation of geometrical characteristics
  2. Interpolation Methods
    1. Lagrange and Hermite interpolation
    2. Ferguson and Coons surface patches
  3. Theory of Splines
    1. Spline functions
    2. Natural splines
    3. Generation of spline curves and surfaces
    4. Best approximation/error-minimizing approximation (e.g., least squares method)
  4. Approximation Methods for Curves and Surfaces
    1. Bernstein-Bezier Approximation
    2. B-spline curves and surfaces
    3. Rational polynomial curves and surfaces
    4. NURBS (Non Uniform Rational B-splines)
  5. Special Surface Schemes
    1. General surface schemes (e.g., triangular patches, multi-sided patches)
    2. Subdivision schemes (e.g., Doo-Sabin and Catmull-Clark schemes)
    3. Surface interrogation (e.g., normal and curvature behavior)
    4. Scattered data interpolation (e.g., object/function reconstruction)
  6. Applications of Geometric Modeling
    1. Elements of computer-aided design systems (e.g., extruded, ruled, rotational surfaces; degree elevation/reduction; implicit vs. parametric representation)
    2. Methods for discretizing/meshing geometry (e.g., triangulation, quadrangulation)
    3. Computer graphics/animation applications (e.g., character modeling)
    4. Scientific data approximation and visualization applications (e.g., Voronoi diagrams; approximation methods for triangulations/tessellations)

Computer Usage: The three to five programming projects assigned in this course are meant to be used as modules of computer graphics, computer-aided geometric design (CAD) or scientific data visualization system. (1) Curve modeling techniques: The student has to implement various curve interpolation and approximation techniques that allow the interactive specification and manipulation of two and three-dimensional curves (e.g., Bezier, B-spline, rational curves). (2) Surface modeling techniques: The student has to implement various surface interpolation and approximation techniques that allow the interactive specification and manipulation of three-dimensional surfaces (e.g., Bezier, B-spline, rational surfaces). (3) Simple elements of a CAD system: The curve and surface design modules are to be integrated into a single system that allows the user to interactively design and store simple geometrical configurations defining simple realistic objects.

Goals: The main purpose of this course is to gain theoretical insight into fundamental geometric modeling concepts and methods through the lectures for development of various modules that would be typical of a simple, interactive system for modeling curves and surfaces. The student will be allowed to fully utilize computer graphics libraries supported by the available programing environment workstation chosen by the students for the projects. The main goal is the design and implementation of simple user-friendly interfaces and techniques needed for the definition and manipulation of geometries in two and three dimensions.

Students will: (1) Learn about different parametric curve and surface schemes; (2) understand the advantages and disadvantages of different geometric representations; (3) gain practical experience by implementing several CAD techniques and developing simple user interfaces; and (4) obtain the ability to apply CAD methods to practical applications.

Illustrative reading
G. Farin, Curves and Surfaces for CAGD: A Practical Guide, 5th ed., Morgan Kaufman, 2002.

Engineering Design Statement:
The main purpose of this course is to have to use the theoretical insight gained through the lectures for development of a simple, interactive system that allows the modeling of curves and surfaces. The student will be allowed to fully utilize graphics libraries supported by the individual workstation chosen for the projects, the main goal is the design and implementation of user-friendly interfaces and techniques needed for the easy definition and manipulation of geometries in three dimensions.

ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units

GE3
Science & Engineering
Visual Literacy

Justification for Visual Literacy:This course teaches students to understand and interpret patterns of visual material. Course assignments also provide students with the possibility of recording and conveying visual evidence. Students are tested throughout the course concerning their ability to interpret visual data accurately and observantly.

Overlap: None

Instructors: B. Hamann, K. Joy, K. Ma, and N. Max

History: Reviewed by B. Hamann (2012.10.21): minor revisions to catalog description and  course contents. Original course description by B. Hamann and K. Joy dates to Feb 1997

Outcomes

1 X an ability to apply knowledge of mathematics, science, computing, and engineering
2 an ability to design and conduct experiments, as well as to analyze and interpret data
3 X an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4 an ability to function on multi-disciplinary teams
5 X an ability to identify, formulate, and solve computer science and engineering problems  and define the computing requirements appropriate to their solutions
6 an understanding of professional, ethical, legal, security and social issues and responsibilities
7 an ability to communicate effectively with a range of audiences
8 X the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context
9 X a recognition of the need for, and an ability to engage in life-long learning
10 X knowledge of contemporary issues
11 X an ability to use current techniques, skills, and tools necessary for computing and engineering practice
12 X an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
13 X an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity