CPSC 314: Computer Graphics

Course Organization

Instructor: Dinesh K. Pai, Department of Computer Science, UBC
Lectures: MWF 10-11, Term 1 Section 101 (Sep-Dec 2017) of 2017W
Location: DMP 310
Registration: Here

Course Outline

Coming soon! Previous similar offering: here.


CPSCS 530P: Sensorimotor Computation

Course Organization

Instructor: Dinesh K. Pai, Department of Computer Science, UBC
Lectures:  Term 2 (Jan-Apr 2018) of 2017W, Time TBD
Location: TBD

Course Outline

This course provides a self-contained introduction to computational models of sensorimotor biology, i.e., how the central nervous system (CNS), muscles, and sensory organs work together to accomplish amazingly effective movements that are still unmatched by robots. The goal is to develop a constructive understanding of how these biological systems work as machines, so that we can build predictive computer models and simulations.  Such an understanding is important not only for biomedical applications but also for producing the next generation of robots and computer animation. For instance, biomechanical simulation is now used by Image Engine, ILM, Weta Digital and other major visual effects studios to bring humans, dinosaurs and other creatures to life.

The course will focus on modeling and simulation of biomechanical systems (soft tissues, musculoskeletal systems, skin, etc.). It can serve as an introduction to physically based modeling and numerical simulation methods that are useful in computer animation and robotics.  The course will also introduce the relevant physiology of sensorimotor systems.

No textbook is required.  Reference material will be available in the reading room.

Some background in one of the following topics is helpful: scientific computing, graphics, robotics, machine learning, vision, or other areas of applied mathematics. Previous exposure to numerical linear algebra and differential equations, at the level of an undergraduate course, will be assumed. To make the course accessible to students with diverse backgrounds, there is some flexibility in the choice of course projects to suit individual needs. Email me if you have any questions.

  • A first look at a complete sensorimotor system: the human eye. Functional anatomy: muscles, sensors, nervous system. Types of eye movements. How the brain controls eye movements.
  • A framework for modeling sensorimotor systems. Descriptive models. Mathematical models. Computational models. Application: Robinson’s classical model of saccadic eye movements in 2D.
  • Configuration space. Differential kinematics. Constraints and Lagrange multipliers. Reduced coordinates. Rigid bodies. Applications: movement of eyes and skeletons. Listing’s law for eye movements
  • Elastostatics
    • A first look. Small deformations (linear) in 1D. Strain, stress, constitutive models. Finite difference methods
    • Large deformations (non-linear) in 1D. Lagrangian vs. Eulerian discretizations. Finite strain measures. Finite element method. Application: muscle and tendon simulation.
  • Elementary classical mechanics. Principles of Gauss and Hamilton. Time discretization. Stability and numerical stiffness. Model reduction.
  • Contact and Friction. Convex analysis and non-smooth optimization. Application: simulating touch.
  • [If there is time] Control. Neuroscience of Motor Control. Elementary concepts of control. Cerebellum, internal models, and adaptive control. Application: Learning eye movements.

The course grade will be based on:

(1) Class participation: Everyone is expected to read assigned reading material, and participate in peer reviews. Each student will be expected to make one presentation. (10%)
(2) Three assignments: Several questions will require the use of Matlab. (40%)
(3) One course project: This could involve either a critical review of a topic or an implementation (50%).

Course Material

We’re now using the Connect learning management system for all aspects of this course. The deadlines listed there are the official ones.