360 likes | 517 Views
Animation CS 551 / 651. Chenney & Forsyth, 2000. Chenney/Forsyth Paper. Results. Applications Atoms: 200 spheres and 100 water molecules in divided box Cars: 4 multibody vehicles and 400 pendula Robots: 20 eight-link manipulators throwing blocks
E N D
AnimationCS 551 / 651 Chenney & Forsyth, 2000 Chenney/Forsyth Paper
Results • Applications • Atoms: 200 spheres and 100 water molecules in divided box • Cars: 4 multibody vehicles and 400 pendula • Robots: 20 eight-link manipulators throwing blocks • Avalanche: 300 rocks tumbling down mountainside
Results • Note average integration step vs. time between discontinuities
Results • Atoms for 2 seconds • Average integration step • Conservative advancement slows down
Results • Atoms for 2 seconds • Total “work done” per simulated object • Retroactive detection repeats a lot of work
Results • Total time • 100 atoms • RD-1/30 = 0.142, TW = 0.147, CA = 1.15 • 200 atoms • RD -1/30 = 2.61, TW = .388, CA = 4.74
Inspect the title • Sampling • Plausible Solutions to • Multi-body Constraint Problems • What’s the emphasis of this paper?
Randomness • Many details are ignored by simulations • Randomness will replace these details with something that is good enough (plausible) • Do you agree? • A driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real road
Randomness • Multiple paths is a good thing • examples • Multiple paths is a bad thing • examples
Finding a place for uncertainty • Feed-forward simulations • Where? • Optimal (goal-oriented) simulations • What trouble do they cause?
Incorporating Uncertainty • pw (A) = probability animation A would occur in the world • non-negative • finite integral over domain • unnormalized • Example: • A ball bounces on flat table i times with • normal vector mean at 0 degrees • standard deviation 10 degrees
Introducing constraints • The randomness must not interfere with constraints • Examples • We now want pw(A | C) • The ball must start here and land there • The ball must go through this point • The initial acceleration must be foo
Ball example • Evaluating pw(A | C) Constraints
Ball example • Evaluating pw(A | C)
Ball example • Trial and error is bound to fail • Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible) • Easy to model plausible bounces (but will they satisfy constraints) • Sampling from pw (A|C) is too difficult
Loosening requirements • pw(A): probability A occurs in real world • p(A): probability A occurs in world with relaxed constraints (maybe not realistic) • pc(A) = prob A satisfies constraints • Removed conditional probability
Ball example • pw(A) • pc(A) Gaussian function definedon final position of ball, d
Ball example • Sampling • Select animation, A, with high probability • Select animation, A, from set with high probabilities
Markov Chain Monte Carlo • Markov chain • Given a sequence of events, the present state is only dependent on the preceding state and independent of the previous states • Only the present influences the future • The past doesn’t influence the future • A random walk (why?) • Monte Carlo • Using random numbers to solve a problem
MCMC for animations • Identify degrees of freedom • What variables are you looking to solve for? • Normal vectors on table, friction over surface, … • The random variables • Iteratively search for good values of these variables
MCMC Algorithm Compute p(A0) Use markov model to perturbdegree-of-freedom values from Ai Compute p(Ac)
MCMC Algorithm How likely is change from parameters used to generateAc to parameters used for Ai
Ball example • Transition probability, q • First term = prob of choosing particular set of degrees of freedom to change • Second term = prob of choosing any particular value for a degree of freedom n ball bounces 10 values for normal (+/- 5)
MCMC Algorithm • Key component • propose ( ) • “designed through intuitive reasoning and experimentation” • “use past experience as a guide”
MCMC Algorithm • Provable feature of algorithm • As i inf, samples are true reflection of probability distribution of model • Sampling animation from the set of samples produces well-understood plausibility
2D Ball • Probability function • Take the log
2D Ball • Lesson learned about standard dev • s too small most animations are improbable because they don’t land in correct place • s too large most animations are probable because they land within landing region but they miss the exact spot • Tuning probability function, p(A) is tricky
Bowling • Degrees of freedom • Ball (diameter, initial position, initial velocity, initial angular velocity) • Pin (initial position) • Constraints • Initial pins up, final pins down • Lesson learned • If constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to another
Rolling Dice • Normal function (for tabletop) • Example from bouncing ball won’t work • Nearby points should have similar normals (not independent) • Object bouncing in same place should use same normal each time • Create “surface” using b-splines • Degrees of freedom are control point heights, initial pos • Also use restitution and friction values at control points
Rolling Dice • Lessons learned • Creating a good proposal algorithm is difficult • Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours)
Rolling Dice • Constraints • Any position/orientation at any time
Review • What’s easy about this? • Getting a simulation • Selecting some degrees of freedom • Building the MCMC algorithm
Review • What’s difficult? • Building p(A|C) function • Tuning bouncing ball standard deviation • Authors used Gibbs distribution function to assist • Building proposal function • Dice example had simple proposal algorithm
Review • What’s difficult • This is a search problem • Global vs. local search • Requires infinite samples to be perfect • Simulation time and search space size are realistic constraints on feasibility
Big Picture • How to synthesize animations that accomplish specific goals • Keyframing • Simulation • Motion capture • Data-driven simulation is a compromise
Next Class • Hodgins, O’Brien, Tumblin. Perception of Human Motion with Different Geometric Models.