# Lecture 27: Spacetime Constraints

by 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

## Examples

Particle

• 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

Previous post:

Next post: