Department of Computer Science
College of Computer, Mathematical, and Natural Sciences
The University of Maryland at College Park

CMSC 838M (Spring 2025): Physically-based Modeling, Simulation and Animation


CMSC 838M (Spring 2025): Physically-based Modeling, Simulation and Animation

Instructor: Ming C. Lin


Cool AI-Empowered Simulation!!!


Time and Place: Tues/Thur 2:00pm - 3:15pm, CSIC 2117
Zoom Link: https://umd.zoom.us/j/97896015510?pwd=Ds9zTU3nkvURQD4rrFUllr7SnVBxJt.1
Office Hours: Tues/Thur After Class
Prerequisites:CMSC 330, CMSC 351 AND Scientific Computing OR Instructor's approval
Breadth Areas: AREA 2 - Information Processing (AI/ML/CV/CG) and AREA 3 - Software Engineering & Programming Languages (SE/PL/HCI)
Textbook: Course Notes and Electronic Handouts
TA: Shrey Patel (pshrey@umd.edu): Office Hours: By Appointment
================================================================================================================================================================================================================================================================================================================

  • Course Overview
  • Lectures and Approximate Schedule
  • Course Reading Materials
  • Assignments and Projects
  • Course Syllabus
  • Genesis: A Generative and Universal Physics Engine for Robotics and Beyond
  • ================================================================================================================================================================================================================================================================================================================

    COURSE OVERVIEW:

    Physically-based modeling and simulation attempts to map a natural phenomena to a computer simulation program. There are two basic processes in this mapping: mathematical modeling and numerical solution. The goal of this introductory course is to understand both of them. The mathematical modeling concerns the description of natural phenomena by mathematical equations. Differential equations that govern dynamics and geometric representation of objects are typical ingredients of the mathematical model. The numerical solution involves computing an efficient and accurate solution of the mathematical equations. Finite precision of numbers, limited computational power and memory forces us to approximate the mathematical model with simple procedures.

    In this course, we will study various techniques to simulate the physical and mechanical behavior of objects in a graphical simulation or a virtual environment. Students will learn about implementation of basic simulation programs that produce interesting results and verify its correctness. The course will cover three basic components in physically-based modeling and simulation:

  • Geometry
  • Collision Detection
  • Computing Contact Manifolds
  • Mechanics
  • Particle Dynamics
  • Rigid Body Dynamics
  • Non-Rigid Body Dynamics
  • Numerical Computing
  • Initial Value Problems
  • Boundary Value Problems
  • Constraints & Differential-Algebraic Equations
  • The goal of this class is to get students an appreciation of computational methods for modeling of motions in the physical and virtual world. We will discuss various considerations and tradeoffs used in designing simulation methodologies (e.g. time, space, robustness, and generality). This will include data structures, algorithms, computational methods and simulation techniques, their complexity and implementation. The lectures will also cover some applications of physically-based modeling and simulation to the following areas:
  • Computer Animation
  • Virtual Environments
  • Medical Simulation and Analysis
  • Special Effects Generation
  • Computer Game Dynamics
  • Rapid Prototyping for Design
  • Haptic Rendering/Interfaces
  • Robotics and Automation
  • Bio-informatics
  • ================================================================================================================================================================================================================================================================================================================

    LECTURES AND APPROXIMATE SCHEDULE

    Here is a list of TENTATIVE lecture topics (subject to changes). Schedule and information on each topic (e.g. readings, web pointers) will be added during the semester before each class.

  • Overview (Tues, Jan 28, 2025)
  • Basics of Motion Generations for Animation (Thur, Jan 30, 2025)
  • Principles of Animation and Inverse Kinematics (Tues, Feb 4, 2025) with Supplementary Video
  • ODE Basics: Initial Value Problem (Thur, Feb 6, 2025)
  • Intro to Particle Dynamics & Particle Systems (Tues, Feb 11, 2025)
  • Solutions to Spring-Mass System & Implicit Methods (Thur, Feb 13, 2025)
  • Constrained Dynamics (Tues, Feb 18, 2025)
  • Review on Comp Geom (Thur, Feb 20, 2025)
  • Review on Comp Geom & Collision Detection: Convex Polyhedra & Many Bodies (Tues, Feb 25, 2025)
  • Collision Detection: Convex Polyhedra & Many Bodies (Thur, Feb 27, 2025)
  • Collision Detection: BVHs & Spatial Partitioning (Tues, Mar 4, 2025)
  • Collision Detection: BVHs & Spatial Partitioning (Thur, Mar 6, 2025)
  • Project Proposal (Tues/Thur, Mar 11-13, 2025)
  • Spring Break (Mar 16-22, 2025)
  • Collision Detection for Deformable Bodies and Other CD Techiques (Tues, Mar 25, 2025)
  • Rigid Body Dynamics (Notes on Quaternion and Particle to Rigid Body Dynamics) (Thur, Mar 27, 2025)
  • Position-based Dynamics and Modeling of Deformable Models: Introduction (Tues, Apr 1, 2025)
  • Modeling of Deformable Models: Introduction and Introduction to Audio (Thurs, Apr 3, 2025)
  • Introduction to Fluid Simulation (Tues, Apr 8, 2025)
  • Lagrangian Particle Methods for Simulating Conservative Liquid Redistribution and Simulation of Bubble Movement (Thur, Apr 10, 2025)
  • Physically-based Sound Simulation and Rigid-body Sound Simulation (Tues, Apr 15, 2025)
  • Geometric-based Sound Propagation and Robot Navigation with Collision Avoidance v (Thur, Apr 17, 2025)
  • Course Project Progress Report (Tues, Apr 22, 2025)
  • Decentralized Monte-Carlo Tree Search for multi-robot planning and Traffic Simulation (Tues, Apr 22, 2025)
  • Decentralized Collision Avoidance for Multi-Agent Systems and Learning-based Collision Avoidance (Thur, Apr 24, 2025)
  • Human Motion Synthesis and Simulation and Techniques for Animating Human Athletes (Thur, May 1, 2025)
  • Haptics and Modeling and Simulatino of Fur and Hairs (Tues, May 6, 2025)
  • Data-driven Methods to Accelerate Cloth Simulation and GPU-based Differentiable Cloth Simulation (Thur, May 8, 2025)
  • Simulation of Relativistic Effects and Fogs & Environmental Effects (Tues, May 13, 2025)
  • ================================================================================================================================================================================================================================================================================================================

    COURSE READING MATERIALS

  • Supplementary Materials and Reading List for the Class
  • ================================================================================================================================================================================================================================================================================================================

    ASSIGNMENTS AND PROJECTS

    The class grade of each student taking 3-credits is determined by

  • Homework (30%)
  • Class Oral Presentation/Exam (20%)
  • Final Project/Exam (50%)
  • ================================================================================================================================================================================================================================================================================================================

    For more information, contact Ming C. Lin, lin@cs.umd.edu.

    ================================================================================================================================================================================================================================================================================================================

    Copyright 1999-2025. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the author.

    This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.


    [Back] Back to the Department of Computer Science Class Pages

    Web Accessibility