- 99 Views
- Uploaded on
- Presentation posted in: General

Animation CS 551 / 651

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

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

- Average integration step

- Atoms for 2 seconds
- Total “work done” per simulated object
- Retroactive detection repeats a lot of work

- Total “work done” per simulated object

- 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

- 100 atoms

- 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

- Feed-forward simulations
- Where?

- Optimal (goal-oriented) simulations
- What trouble do they cause?

- 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

- A ball bounces on flat table i times with

- 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

- Evaluating pw(A | C)

Constraints

Ball example

- Evaluating pw(A | C)

- 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

- 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

- pw(A)
- pc(A)

Gaussian function definedon final position of ball, d

- Sampling
- Select animation, A, with high probability
- Select animation, A, from set with high probabilities

- 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?)

- Given a sequence of events, the present state is only dependent on the preceding state and independent of the previous states
- Monte Carlo
- Using random numbers to solve a problem

- 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

- What variables are you looking to solve for?

Compute p(A0)

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

Compute p(Ac)

How likely is change from

parameters used to generateAc to parameters used for Ai

- 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)

- Key component
- propose ( )
- “designed through intuitive reasoning and experimentation”
- “use past experience as a guide”

- propose ( )

- 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

- Probability function
- Take the log

- 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

- 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

- Example from bouncing ball won’t work

- 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)

- 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

- Building p(A|C) function

- 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

- This is a search problem

- How to synthesize animations that accomplish specific goals
- Keyframing
- Simulation
- Motion capture

- Data-driven simulation is a compromise

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