Animation cs 551 651
1 / 36

Animation CS 551 / 651 - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Animation CS 551 / 651' - jennessa

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Animation cs 551 651

AnimationCS 551 / 651

Chenney & Forsyth, 2000

Chenney/Forsyth Paper


  • 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


  • Note average integration step vs. time between discontinuities


  • Atoms for 2 seconds

    • Average integration step

      • Conservative advancement slows down


  • Atoms for 2 seconds

    • Total “work done” per simulated object

      • Retroactive detection repeats a lot of work


  • 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
Inspect the title

  • Sampling

  • Plausible Solutions to

  • Multi-body Constraint Problems

  • What’s the emphasis of this paper?


  • 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


  • Multiple paths is a good thing

    • examples

  • Multiple paths is a bad thing

    • examples

Finding a place for uncertainty
Finding a place for uncertainty

  • Feed-forward simulations

    • Where?

  • Optimal (goal-oriented) simulations

    • What trouble do they cause?

Incorporating uncertainty
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
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
Ball example

  • Evaluating pw(A | C)


Animation cs 551

Ball example

  • Evaluating pw(A | C)

Ball example1
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
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 example2
Ball example

  • pw(A)

  • pc(A)

Gaussian function definedon final position of ball, d

Ball example3
Ball example

  • Sampling

    • Select animation, A, with high probability

    • Select animation, A, from set with high probabilities

Markov chain monte carlo
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
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
MCMC Algorithm

Compute p(A0)

Use markov model to perturbdegree-of-freedom values from Ai

Compute p(Ac)

Mcmc algorithm1
MCMC Algorithm

How likely is change from

parameters used to generateAc to parameters used for Ai

Ball example4
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 algorithm2
MCMC Algorithm

  • Key component

    • propose ( )

      • “designed through intuitive reasoning and experimentation”

      • “use past experience as a guide”

Mcmc algorithm3
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
2D Ball

  • Probability function

  • Take the log

2d ball1
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


  • 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
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 dice1
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 dice2
Rolling Dice

  • Constraints

    • Any position/orientation at any time


  • What’s easy about this?

    • Getting a simulation

    • Selecting some degrees of freedom

    • Building the MCMC algorithm


  • 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


  • 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
Big Picture

  • How to synthesize animations that accomplish specific goals

    • Keyframing

    • Simulation

    • Motion capture

  • Data-driven simulation is a compromise

Next class
Next Class

  • Hodgins, O’Brien, Tumblin. Perception of Human Motion with Different Geometric Models.