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