Download presentation
Presentation is loading. Please wait.
Published byCassandra Weaver Modified over 9 years ago
1
Animation CS 551 / 651 Chenney/Forsyth Paper Chenney & Forsyth, 2000
2
Results Applications Atoms: 200 spheres and 100 water molecules in divided boxAtoms: 200 spheres and 100 water molecules in divided box Cars: 4 multibody vehicles and 400 pendulaCars: 4 multibody vehicles and 400 pendula Robots: 20 eight-link manipulators throwing blocksRobots: 20 eight-link manipulators throwing blocks Avalanche: 300 rocks tumbling down mountainsideAvalanche: 300 rocks tumbling down mountainsideApplications Atoms: 200 spheres and 100 water molecules in divided boxAtoms: 200 spheres and 100 water molecules in divided box Cars: 4 multibody vehicles and 400 pendulaCars: 4 multibody vehicles and 400 pendula Robots: 20 eight-link manipulators throwing blocksRobots: 20 eight-link manipulators throwing blocks Avalanche: 300 rocks tumbling down mountainsideAvalanche: 300 rocks tumbling down mountainside
3
Results Note average integration step vs. time between discontinuitiesNote average integration step vs. time between discontinuities
4
Results Atoms for 2 seconds Average integration stepAverage integration step –Conservative advancement slows down Atoms for 2 seconds Average integration stepAverage integration step –Conservative advancement slows down
5
Results Atoms for 2 seconds Total “work done” per simulated objectTotal “work done” per simulated object –Retroactive detection repeats a lot of work Atoms for 2 seconds Total “work done” per simulated objectTotal “work done” per simulated object –Retroactive detection repeats a lot of work
6
Results Total time 100 atoms100 atoms –RD-1/30 = 0.142, TW = 0.147, CA = 1.15 200 atoms200 atoms –RD -1/30 = 2.61, TW =.388, CA = 4.74 Total time 100 atoms100 atoms –RD-1/30 = 0.142, TW = 0.147, CA = 1.15 200 atoms200 atoms –RD -1/30 = 2.61, TW =.388, CA = 4.74
7
Inspect the title Sampling Plausible Solutions to Multi-body Constraint Problems What’s the emphasis of this paper? Sampling Plausible Solutions to Multi-body Constraint Problems What’s the emphasis of this paper?
8
Randomness Many details are ignored by simulations Randomness will replace these details with something that is good enough (plausible)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 roadA driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real road Many details are ignored by simulations Randomness will replace these details with something that is good enough (plausible)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 roadA driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real road
9
Randomness Multiple paths is a good thing examplesexamples Multiple paths is a good thing examplesexamples Multiple paths is a bad thing examplesexamples Multiple paths is a bad thing examplesexamples
10
Finding a place for uncertainty Feed-forward simulations Where?Where? Optimal (goal-oriented) simulations What trouble do they cause?What trouble do they cause? Feed-forward simulations Where?Where? Optimal (goal-oriented) simulations What trouble do they cause?What trouble do they cause?
11
Incorporating Uncertainty p w (A) = probability animation A would occur in the world non-negativenon-negative finite integral over domainfinite integral over domain unnormalizedunnormalizedExample: A ball bounces on flat table i times withA ball bounces on flat table i times with –normal vector mean at 0 degrees –standard deviation 10 degrees p w (A) = probability animation A would occur in the world non-negativenon-negative finite integral over domainfinite integral over domain unnormalizedunnormalizedExample: A ball bounces on flat table i times withA ball bounces on flat table i times with –normal vector mean at 0 degrees –standard deviation 10 degrees
12
Introducing constraints The randomness must not interfere with constraints ExamplesExamples We now want p w (A | C)We now want p w (A | C) The randomness must not interfere with constraints ExamplesExamples We now want p w (A | C)We now want p w (A | C) The ball must start here and land thereThe ball must start here and land there The ball must go through this pointThe ball must go through this point The initial acceleration must be fooThe initial acceleration must be foo The ball must start here and land thereThe ball must start here and land there The ball must go through this pointThe ball must go through this point The initial acceleration must be fooThe initial acceleration must be foo
13
Ball example Evaluating p w (A | C) Evaluating p w (A | C) Constraints
14
Ball example Evaluating p w (A | C) Evaluating p w (A | C)
15
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 start with constraint satisfaction and insert intermediate bounces (but are they plausible) Easy to model plausible bounces (but will they satisfy constraints)Easy to model plausible bounces (but will they satisfy constraints) Sampling from p w (A|C) is too difficult Trial and error is bound to fail Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible)Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible) Easy to model plausible bounces (but will they satisfy constraints)Easy to model plausible bounces (but will they satisfy constraints) Sampling from p w (A|C) is too difficult
16
Loosening requirements p w (A): probability A occurs in real world p(A): probability A occurs in world with relaxed constraints (maybe not realistic) p c (A) = prob A satisfies constraintsp c (A) = prob A satisfies constraints Removed conditional probabilityRemoved conditional probability p w (A): probability A occurs in real world p(A): probability A occurs in world with relaxed constraints (maybe not realistic) p c (A) = prob A satisfies constraintsp c (A) = prob A satisfies constraints Removed conditional probabilityRemoved conditional probability
17
Ball example p w (A) p c (A) p w (A) p c (A) Gaussian function defined on final position of ball, d
18
Ball example Sampling Select animation, A, with high probabilitySelect animation, A, with high probability Select animation, A, from set with high probabilitiesSelect animation, A, from set with high probabilitiesSampling Select animation, A, with high probabilitySelect animation, A, with high probability Select animation, A, from set with high probabilitiesSelect animation, A, from set with high probabilities
19
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 statesGiven 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 problemUsing random numbers to solve a problem Markov chain Given a sequence of events, the present state is only dependent on the preceding state and independent of the previous statesGiven 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 problemUsing random numbers to solve a problem
20
MCMC for animations Identify degrees of freedom What variables are you looking to solve for?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 variablesIteratively search for good values of these variables Identify degrees of freedom What variables are you looking to solve for?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 variablesIteratively search for good values of these variables
21
MCMC Algorithm Compute p(A 0 ) Use markov model to perturb degree-of-freedom values from A i Compute p(A c )
22
MCMC Algorithm How likely is change from parameters used to generate A c to parameters used for A i
23
Ball example Transition probability, q First term = prob of choosing particular set of degrees of freedom to changeFirst term = prob of choosing particular set of degrees of freedom to change Second term = prob of choosing any particular value for a degree of freedomSecond term = prob of choosing any particular value for a degree of freedom Transition probability, q First term = prob of choosing particular set of degrees of freedom to changeFirst term = prob of choosing particular set of degrees of freedom to change Second term = prob of choosing any particular value for a degree of freedomSecond term = prob of choosing any particular value for a degree of freedom n ball bounces 10 values for normal (+/- 5)
24
MCMC Algorithm Key component propose ( )propose ( ) –“designed through intuitive reasoning and experimentation” –“use past experience as a guide” Key component propose ( )propose ( ) –“designed through intuitive reasoning and experimentation” –“use past experience as a guide”
25
MCMC Algorithm Provable feature of algorithm As i inf, samples are true reflection of probability distribution of modelAs i inf, samples are true reflection of probability distribution of model Sampling animation from the set of samples produces well-understood plausibilitySampling animation from the set of samples produces well-understood plausibility Provable feature of algorithm As i inf, samples are true reflection of probability distribution of modelAs i inf, samples are true reflection of probability distribution of model Sampling animation from the set of samples produces well-understood plausibilitySampling animation from the set of samples produces well-understood plausibility
26
2D Ball Probability function Take the log Probability function Take the log
27
2D Ball Lesson learned about standard dev too small most animations are improbable because they don’t land in correct place 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 Lesson learned about standard dev too small most animations are improbable because they don’t land in correct place 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
28
Bowling Degrees of freedom Ball (diameter, initial position, initial velocity, initial angular velocity)Ball (diameter, initial position, initial velocity, initial angular velocity) Pin (initial position)Pin (initial position)Constraints Initial pins up, final pins downInitial pins up, final pins down Lesson learned If constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to anotherIf constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to another Degrees of freedom Ball (diameter, initial position, initial velocity, initial angular velocity)Ball (diameter, initial position, initial velocity, initial angular velocity) Pin (initial position)Pin (initial position)Constraints Initial pins up, final pins downInitial pins up, final pins down Lesson learned If constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to anotherIf constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to another
29
Rolling Dice Normal function (for tabletop) Example from bouncing ball won’t workExample 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-splinesCreate “surface” using b-splines –Degrees of freedom are control point heights, initial pos –Also use restitution and friction values at control points Normal function (for tabletop) Example from bouncing ball won’t workExample 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-splinesCreate “surface” using b-splines –Degrees of freedom are control point heights, initial pos –Also use restitution and friction values at control points
30
Rolling Dice Lessons learned Creating a good proposal algorithm is difficultCreating 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)Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours) Lessons learned Creating a good proposal algorithm is difficultCreating 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)Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours)
31
Rolling Dice Constraints Any position/orientation at any timeAny position/orientation at any timeConstraints
32
Review What’s easy about this? Getting a simulationGetting a simulation Selecting some degrees of freedomSelecting some degrees of freedom Building the MCMC algorithmBuilding the MCMC algorithm What’s easy about this? Getting a simulationGetting a simulation Selecting some degrees of freedomSelecting some degrees of freedom Building the MCMC algorithmBuilding the MCMC algorithm
33
Review What’s difficult? Building p(A|C) functionBuilding p(A|C) function –Tuning bouncing ball standard deviation –Authors used Gibbs distribution function to assist Building proposal functionBuilding proposal function –Dice example had simple proposal algorithm What’s difficult? Building p(A|C) functionBuilding p(A|C) function –Tuning bouncing ball standard deviation –Authors used Gibbs distribution function to assist Building proposal functionBuilding proposal function –Dice example had simple proposal algorithm
34
Review What’s difficult This is a search problemThis 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 What’s difficult This is a search problemThis 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
35
Big Picture How to synthesize animations that accomplish specific goals KeyframingKeyframing SimulationSimulation Motion captureMotion capture Data-driven simulation is a compromise How to synthesize animations that accomplish specific goals KeyframingKeyframing SimulationSimulation Motion captureMotion capture Data-driven simulation is a compromise
36
Next Class Hodgins, O’Brien, Tumblin. Perception of Human Motion with Different Geometric Models.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.