3D Modeling and Simulation

Time: Fridays 1:25-3:25pm
Location: CS 142
Instuctor: Evangelos Kalogerakis (kalo AT cs DOT umass DOT edu)
Office hours: Mondays 3-4pm

Lecture notes, programming resources, and assignments will be posted on the UMass Moodle web site.

Course Description

Algorithms and techniques for three-dimensional content creation are fundamental to several scientific and engineering fields: computer graphics, virtual reality, augmented reality, information visualization, computer-aided design, and architecture to name a few. 3D content creation is also becoming increasingly important in several other emerging applications where there is a growing interest in 3D models or/and animation, such as 3D printing, rapid prototyping, collaborative virtual environments, and digital entertainment.

The course will teach advanced algorithms and techniques for 3D geometric modeling, texturing, animation and physics-based simulation, which are all fundamental components of content creation software. The course will start by covering the most commonly used digital representations of shapes, such as polygon meshes, point clouds, NURBS surfaces, and subdivision surfaces. Then it will cover algorithms for surface scanning, reconstruction, registration, differential geometry, re-meshing, smoothing, texturing, parameterization, and geometric deformations. Finally, the course will cover methods for character rigging and animation, physics-based simulation of rigid bodies and deformable solids.

Students will be asked to complete programming assignments related to shape modeling, reconstruction, deformation, and physically based animation. For 690GC students, there will also be a final project that involves the implementation of a research idea related to 3D modeling or animation. There are no prerequisites for CMPSCI graduate students, although familiarity with computer graphics, linear algebra, Matlab/Octave and ordinary differential equations is essential. For undergrads and others, the course has the following prerequisites: Introduction to Linear Algebra (Math 235, grade A- or better) and Introduction to Computer graphics (CMPSCI 373, 390CG or 473, grade A- or better). 3 credits.

This course counts as a CS Elective toward the CMPSCI major (BA/BS). 3 credits. It also belongs to the computer graphics, vision, robotics track.

Week-by-week outline

Week 1: Introduction, Matab/Octave tutorial, digital representations of shapes
Week 2: Geometric transformations, polygon mesh data structures
Week 3: Parametric and implicit representations of curves and surfaces
Week 4: Subvidivion curves and surfaces, differential geometry of curves
Week 5: Differential geometry of surfaces
Week 6: Surface parametrization and texturing
Week 7: Surface scanning and reconstruction
Week 8: Character animation and rigging
Week 9: Geometric deformations
Week 10: Numerical integration of differential equations, particle systems
Week 11: Rigid body dynamics, deformable solids, finite element methods
Week 12: Fluid and cloth simulation / Paper presentations
Week 13: Project presentations


  • Complete 5 programming assignments
  • Complete weekly quizzes
  • Complete a research project (690GC students)
  • Present a research paper (590GC students)
  • Class participation

    Marking scheme

    Assignment 1 [5%]: Warm-up assignment – basic mesh processing
    Assignment 2 [15%]: Differential geometry
    Assignment 3 [15%]: Surface reconstruction
    Assignment 4 [15%]: Laplacian surface editing
    Assignment 5 [15%]: Rigid body simulator
    Quizzes [10%]
    Participation [5%]
    Research project [20%]

    Assignment 1 [5%]: Warm-up assignment – basic mesh processing
    Assignment 2 [15%]: Differential geometry
    Assignment 3 [15%]: Surface reconstruction
    Assignment 4 [15%]: Laplacian surface editing
    Assignment 5 [20%]: Rigid body simulator
    Quizzes [10%]
    Participation [10%]
    Paper Presentation [10%]

    Assignments require programming in Matlab. Plagiarism in any assignment results in an 'F' mark.

    Academic Honesty Statement

    The University of Massachusetts Amherst is committed to providing an equal educational opportunity for all students.  If you have a documented physical, psychological, or learning disability on file with Disability Services (DS), you may be eligible for reasonable academic accommodations to help you succeed in this course.  If you have a documented disability that requires an accommodation, please notify me within the first two weeks of the semester so that we may make appropriate arrangements.

    Since the integrity of the academic enterprise of any institution of higher education requires honesty in scholarship and research, academic honesty is required of all students at the University of Massachusetts Amherst.  Academic dishonesty is prohibited in all programs of the University.  Academic dishonesty includes but is not limited to: cheating, fabrication, plagiarism, and facilitating dishonesty.  Appropriate sanctions may be imposed on any student who has committed an act of academic dishonesty.  Instructors should take reasonable steps to address academic misconduct.  Any person who has reason to believe that a student has committed academic dishonesty should bring such information to the attention of the appropriate course instructor as soon as possible.  Instances of academic dishonesty not related to a specific course should be brought to the attention of the appropriate department Head or Chair.  Since students are expected to be familiar with this policy and the commonly accepted standards of academic integrity, ignorance of such standards is not normally sufficient evidence of lack of intent (

    back to Evangelos Kalogerakis' page