Lecture 27: Spacetime Constraints

by Mike Gleicher on May 7, 2013

The Spacetime “Philosophy”

  • Motion synthesis as constrained optimization in space and time
  • Specify “What” with constraints
  • Specify “How” with objectives
  • Obeying physics as a constraint

The “Philosophy” of Witkin and Kass in 1988

  • Biological motions are energy minimal
  • Animation principles try to capture this
  • Our perception of motion is tuned to appreciate these qualities (smoothness, …)
  • Physical optimal is a good starting point

My philosophy

  • constraints are great for specifying what
  • objectives offer the potential for “how” – if we can only figure out what they are
    • grace, style, quality, efficiency, …

Mathematical Formulation

  • Physics / Motion = Ordinary Differential Equation
    • Two point boundary problems (know start and end)
    • other unknowns (what forces)
  • Variational Optimization (Variational Calculus)
    • Minimum principle over a curve
    • Looking for a curve as the answer
      • trajectory
      • control
  • Optimal Control
    • Do the right thing (as possible)
    • local decision making vs. planning

Solution methods?

  • Discretization
  • Splines (discrete set of control points)
    • enforces smoothness
    • create more coupling between times (easier basis to solve in)
    • can allow the times of the control points (knots) to change

Big, non-linear, constrained optimization



  • F=ma
    • force = jet engine, gravity
  • Constraints
    • where to begin and end
    • initial velocities (otherwise could just coast)
  • State = q(t)=x,v,f
  • Set of discrete points
    • q(0), q(1), …  (could be control points of a spline)
    • could approximate v by fine differences
    • could approximate a by finite differences
    • f = ma may for may not be true
      • make it a constraint
      • really must hold at ALL times (variational constraint)
      • approximate by making it hold at the sample times
  • Constraints
    • obey physics (f=ma)
    • initial and final positions (and maybe places in between)
    • get to the end at the right time
      • or let time “float”
  • Objective function
    • use the engine as little as possible (sum=integral of F->work)
    • smoothness, …
  • big messy set of equations
    • state for all time samples
    • constraints for each time sample
    • objective is sum over all time samples

Luxo Lamp

  • They did it in 2D – 3D was just for picture making
  • Luxo lamp has angles and 1 position (and different masses for different parts)
    • heavy base demo
  • Equations of motion
    • f=ma is just for particles
    • lagrangian dynamics (not lagrange multipliers)
    • need to create the “equations of motion” for the model
    • could have made simpler pieces and connected them with constraints
  • Constraints and objective functions get very complicated, very quickly
  • Non-linear optimization

Automatic Differentiation

  • functions are modular
  • function blocks
  • function composition
    • evaluation is easy
    • derivatives by automatic differentiation (composition)  – compare with symbolic

Other Papers and Variants

Better Implementations of the same thing

  • Liu, Gortler, Cohen, (1994) “Hierarchical Spacetime Constraints”
    • B-Spline Basis

Spacetime Controllers

  • Controllers vs. motions
  • van de Panne and Fiume (1990)
  • Ngo & Marks (1993)
  • Sims (1994)

Control of more complicated characters (real 3D)

  • Popovic (1999, and follow ons)
    • human is too complicated
    • simplify (pogo stick, …)
    • do spacetime on simpler thing
    • motion edit to make changes to dynamics work on real motion
  • Fang and Pollard (2003)
    • Taking derivatives of the dynamics equations can be expensive
    • Pick to optimize things that can be computed (and differentiated) efficiently
      • important since requires lots of evals to do optimization
      • can’t do torque minimization (since a torque can affect all bones, leading to costly things) – forces take linear time to compute their effects, and can be minimized

My Stuff

  • Kinematic Spacetime (not my term)
  • Kinematic constraints (on potentially many frames)
    • IK
    • non-overlap
  • “Dynamics constraints” (on the movement paths)
    • smoothness (of changes)
    • minimalness (of changes – over all frames)
  • To make fast, do B-Splines (to represent displacement maps)
    • also guarantees smoothness
  • optimization problem over whole motion
    • non-linear constraints (kinematics on frames, frames from B-Splines)
  • Editing (interactive)
  • Retargeting

Beyond My Stuff…

  • PFIK+F
    • Lee & Shin
Print Friendly, PDF & Email

Previous post:

Next post: