Animation and Simulation Fundamentals
Domain scope
Animation and Simulation Fundamentals tests keyframe interpolation, quaternion rotations, skeletal skinning, and numerical integration for particles and rigid bodies.
Core rules
- Quaternions represent rotations without gimbal lock; q and -q are the same rotation, so slerp must choose the shorter arc.
- Slerp interpolates along the great circle: q(t)=sin((1-t)Omega)/sin(Omega)·q0+sin(t·Omega)/sin(Omega)·q1.
- Linear blend skinning weights each bone matrix and blends the transformed positions; it can collapse joints under large twists.
- Semi-implicit Euler updates velocity first, then position; it is more stable than explicit Euler for oscillatory systems.
Worked example
A particle starts at x=10 with v=0 under gravity a=-9.8, using dt=1/60. Semi-implicit Euler gives v <- 0+(-9.8)(1/60)=-0.1633, then x <- 10+(-0.1633)(1/60)=9.9973. Explicit Euler would move x using the old v=0 first, leaving x=10 for that step, then update v. Over many steps the explicit method gains energy in a spring, while semi-implicit damps it. For a 90° rotation about z, slerp at t=0.5 gives 45°, not a linear blend of matrices, which would shrink the rotation.
Traps that cost marks
- Slerping without a dot-product sign check and taking the long way around.
- Using Euler angles in a fixed order and then claiming no gimbal lock.
- Applying bone transforms in the wrong space; bind-pose inverse matrices must be included.
- Using a variable time step without substepping, causing tunneling or instability.