The course aims at teaching how basic rigid body physics can be simulated in real-time on a modern computer. The objective is for students to be able to: (i) intuitively understand the basic equations of rigid body physics; (ii) know how to translate those equations into a working physics engine; and (iii) know the trade-os that a physics engine must chose between. At the end of the course the students will be able to program a simplied, robust, and general purpose physics engine. The course will require multiple assignments, roughly one after each lecture or two. The various assignments build towards a working physics engine. Each assignment requires handing in two deliverables: (i) a working program, its source, its compiled executable, and a video of the program running; (ii) a written discussion and description of the implementation. The program is built 1 in groups of two to three students, while the discussion is handed in (and written) by each student individually.

For an in-depth description of the course topics, see GT1-Prog Course Information.pdf

Here is a list of the slides used during lectures:
  • Lecture 0.pdf is a syllabus of the course
  • Lecture 1.pdf describes basic kinematics concepts
  • Lecture 2.pdf shows some introductory numerical methods
  • Lecture 3.pdf perfects our representation of rotations with quaternions
  • Lecture 4.pdf takes a short break to illustrate the architecture of a physics engine
  • Lecture 5.pdf shows how to perform narrow-phase ("pixel perfect") collision detection
  • Lecture 6.pdf turns collision detection data into collision responses
  • Lecture 7.pdf improves performance with broad-phase (coarse but fast) collision detection
  • Lecture 8.pdf offers an application scenario in terms of different forces useful for simulations
  • Lecture 9.pdf offers an application scenario in terms of car dynamics

The lectures have been recorded and can be viewed on YouTube:

Last edited Apr 12, 2015 at 3:23 PM by giuseppemag, version 6


No comments yet.