Fall 2026 · all years

Fundamentals of Computer Graphics:
Animation and Simulation

This page contains lecture slides for CS248B. The lecture list below is tentative and likely to change. Slides for each class will be made available shortly before class, along with a short summary of the topics it covers.

Lectures

Lecture 1: Introduction 9/22

Lecture 2: Particle Systems and ODEs 9/24

Introduces particle systems and their zeroth, first, and second order dynamics, from directly specified parametric motion through particle advection and gradient descent to Newton's equations of motion with simple forces such as gravity, drag, springs, and gravitation. Then develops ordinary differential equations for animation, covering reduction to first-order form, linearization to the model problem, and the accuracy and stability of forward Euler, backward Euler, midpoint, and symplectic Euler, including numerical stiffness and a comparison of integrators on the harmonic oscillator.

Lecture 3: Resolving Particle Collisions 9/29

Distinguishes collision detection from collision response, then develops particle contact models: penalty forces versus instantaneous impulses, the coefficient of restitution that controls bounciness, tangential friction, and how these resolve inside a symplectic Euler integrator with velocity filters. Applies signed-distance fields to proximity queries, covering 2D primitives, gradients and closest-point transforms, transformations and boolean combinations, and uses them in P1 Pinball for ray-marched ball collisions that catch multiple bounces per timestep and post-step projection that keeps the ball out of moving flippers.

Lecture 4: Collision Detection I 10/1

Frames collision detection and proximity queries around the cost of all-pairs testing, separating the broad phase that picks candidate pairs from the narrow phase that tests them, and discrete tests from continuous ones that solve for the first time of collision. Then works through the narrow phase: 2D orientation and segment-overlap predicates and their floating-point pitfalls, bounding volumes from spheres and AABBs through OBBs, k-DOPs and convex hulls, how each is fitted, and the separating axis theorem used to test them.

Lecture 5: Collision Detection II 10/6

Turns to the broad phase, which culls the pairs that cannot collide: sort and sweep on sorted interval lists, uniform grids and the bucketing that replaces sorting, spatial hashing for unbounded domains including which mod function to trust for negative indices, and adaptive structures such as quadtrees and kd-trees. Then develops bounding volume hierarchies, their top-down construction, recursive overlap queries, and the rebuild-versus-refit choice after deformation, closing on continuous collision detection with circle-circle and point-edge tests and the robust root-finding they demand.

Lecture 6: Deformable Models I 10/8

Builds deformation forces from potential energy, generalizing Hooke's law from a scalar displacement to soft constraint functions C(p), so that any energy of the form one half k times the norm of C squared yields forces through the constraint Jacobian, with damping handled the same way. Then works through the derivatives those forces need, from gradients of a constant, a particle position and a position difference to gradients of distance, distance squared, distance raised to a power, and the unit distance vector.

Lecture 7: Deformable Models II 10/13

Applies the generalized spring machinery to concrete forces: zero and finite rest-length linear springs with damping, and hair and cloth bending energies built on bending angles, including why naive symbolic differentiation of a bending energy balloons into unusable expressions. Then turns to P2 Attack of the Blobs, adding area springs that resist compression, deriving the area of a 2D polygon along with its gradient, and modifying those springs for this year's assignment by dividing the energy by the rest area so that stiffness no longer weakens as blobs get small.

Lecture 8: Deformable Collision Processing I 10/15

Turns collision detection into root finding, with robust quadratic and polynomial solvers, circle-circle and 2D point-edge tests, and the 3D point-triangle and edge-edge coplanarity tests, then resolves contacts using barycentric impulses set by a restitution hypothesis, inverse-mass filtering for pinned particles, damped penalty forces, and signed-distance-field position correction. Closes by assembling these into the P2 timestep: an iterative impulse loop inside a symplectic Euler integrator with velocity and position filters, a point-edge broad phase whose blob bounds are expanded both for proximity and for swept motion, and implicit integration for stiff systems.

Lecture 9: Deformable Collision Processing II 10/20

Continued from Lecture 8.

Lecture 10: Fluids 10/22

Starts from the Navier-Stokes equations, a momentum equation plus an incompressibility constraint, and works through particle-based fluids: SPH density and field interpolation, pressure forces and the models that stiffen them, PCISPH and Position Based Fluids, and particle-based rigid-fluid coupling. Then takes the Eulerian view, with advection and the material derivative, semi-Lagrangian advection, and incompressibility enforced by pressure projection through the Helmholtz-Hodge decomposition, before surveying hybrid schemes from PIC and FLIP through APIC, MPM and lattice Boltzmann, and closing on wave-based sound synthesis.

Lecture 11: Forward Kinematics and Articulated Characters 10/27

Reviews the transformations used to pose a character: linear maps, rotation, scaling, and composition by matrix multiplication, then affine transformations and homogeneous coordinates for translation, 3D rotations, and inverting a rigid transform. Then builds forward kinematics for articulated characters, chaining bone offsets and joint rotations from a pose vector to map points between joint and world frames (in 2D, as in P3), and covers the center of mass, joint types and limits, rigging, forward versus inverse kinematics, and maximal versus reduced coordinates.

Lecture 12: Inverse Kinematics 10/29

Inverts the forward kinematic map to find a pose that meets pin constraints: the analytical two-bone case, then the many-bone problem as an optimization, with the constraints folded in by the penalty method and solved by gradient descent through the kinematic Jacobian, the method P3 uses. Closes with faster solvers, extra objective terms for desired or humanlike poses, orientation constraints, the heuristic FABRIK alternative, linear blend skinning and its pitfalls, and learned approaches from SMPL to text-to-motion and in-betweening.

Lecture 13: Keyframe Interpolation 11/5

Starts from keyframing, then builds the cubic curves between keys: Hermite and Bézier forms with their basis matrices, Catmull-Rom splines with tangents from neighboring keys, B-splines defined by de Boor points, and natural C2 interpolating splines, whose tangents come from a tridiagonal system solved in linear time. None of these gives interpolation, C2 continuity and local control at once: Catmull-Rom is only C1, B-splines miss the keys, and the natural C2 spline loses local control. P3 uses Catmull-Rom and B-splines, with the natural C2 spline as an extension.

Lecture 14: 3D Orientation 11/10

Compares five ways to represent 3D orientation: rotation matrices, fixed and Euler angles, axis angle, quaternions, and the two-column representation. Each is judged on the same questions: how to interpolate it, how to enforce joint limits, whether it suffers gimbal lock, how hard it is to keep valid, and whether it is ambiguous. Covers Rodrigues' formula and the matrix exponential, quaternion algebra and composition, a stable conversion from rotation matrix to quaternion, nlerp and slerp, and the ambiguity between q and −q.

Lecture 15: Rigid Body Simulation 11/12

Lecture 16: Constrained Rigid Body Systems 11/17

Lecture 17: Differentiable Simulation and Animation Control 11/19

Lecture 18: Physics-based Character Animation 12/1

Lecture 19: Guest Lecture 12/3

Speaker: David Eberle, Pixar Animation Studios. Title and abstract to come.