1cs533d-winter-2005 Notes  Finish up time integration methods today  Assignment 1 is mostly out Later today will make it compile etc.

Slides:



Advertisements
Similar presentations
AP Physics C Mechanics Review.
Advertisements

Real-Time Game Physics
Chapter 2: Describing Motion in 1-D
Lesson 1 Gravity and Friction Lesson 2 Newton’s First Law
Lesson 1 Gravity and Friction Lesson 2 Newton’s First Law
Motion - a change in position of an object, caused by an object Force – a push or a pull, caused by another object Force Can – Start Motion Stop Motion.
1cs533d-winter-2005 Notes  Assignment 1 is not out yet :-)  courses/533d-winter-2005.
5. Using Newton’s Laws. Newton’s Third Law 3 Law of Action and Reaction Forces always occur in equal and opposite pairs A B A acts on B B acts on A.
Integration Techniques
1cs533d-winter-2005 Notes  Please read O'Brien and Hodgins, "Graphical modeling and animation of brittle fracture", SIGGRAPH '99 O'Brien, Bargteil and.
Notes Assignment questions… cs533d-winter-2005.
1cs533d-term Notes  Braino in this lecture’s notes about last lectures bending energy…
1cs542g-term Notes. 2 Solving Nonlinear Systems  Most thoroughly explored in the context of optimization  For systems arising in implicit time.
1Notes. 2Heightfields  Especially good for terrain - just need a 2d array of heights (maybe stored as an image)  Displacement map from a plane  Split.
1cs533d-term Notes  For using Pixie (the renderer) make sure you type “use pixie” first  Assignment 1 questions?
1Notes. 2 Building implicit surfaces  Simplest examples: a plane, a sphere  Can do unions and intersections with min and max  This works great for.
1cs533d-winter-2005 Notes. 2 Numerical Implementation 1  Get candidate x(t+∆t)  Check to see if x(t+∆t) is inside object (interference)  If so Get.
More Accurate Pressure Solves. Solid Boundaries  Voxelized version works great if solids aligned with grid  If not: though the error in geometry is.
1Notes. 2 Triangle intersection  Many, many ways to do this  Most robust (and one of the fastest) is to do it based on determinants  For vectors a,b,c.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
1Notes  Text:  Motion Blur A.3  Particle systems 4.5 (and 4.4.1, 6.6.2…)  Implicit Surfaces  Classic particle system papers  W. Reeves, “Particle.
1Notes  Reference  Witkin and Baraff, “Physically Based Modelling” course, SIGGRAPH 2001  Link on the course website.
1cs533d-winter D: Animation Physics  533d-winter-2005  Course schedule Slides online, but you need to.
MAT 594CM S10Fundamentals of Spatial ComputingAngus Forbes Week 2 : Dynamics & Numerical Methods Goal : To write a simple physics simulation Topics: Intro.
Conservation of Momentum
1cs533d-winter-2005 Notes  More optional reading on web for collision detection.
1cs533d-winter-2005 Notes  Assignment 2 going okay? Make sure you understand what needs to be done before the weekend  Read Guendelman et al, “Nonconvex.
UNC Chapel Hill S. Redon - M. C. Lin Rigid body dynamics II Solving the dynamics problems.
CS533D - Animation Physics
1cs426-winter-2008 Notes  Course project: Will be due at the end of the term You can do it in pairs Create an animation that combines an algorithm for.
Chapter 4 Forces and Mass.
1cs533d-winter-2005 Notes  More reading on web site Baraff & Witkin’s classic cloth paper Grinspun et al. on bending Optional: Teran et al. on FVM in.
1cs533d-term Notes  list Even if you’re just auditing!
Particle Systems CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
1cs533d-term Notes  Typo in test.rib --- fixed on the web now (PointsPolygon --> PointsPolygons)
1cs426-winter-2008 Notes  Sorry about missed classes  Assignment 2: matchmove and particles  Final project.
Motion Along a Straight Line
1cs533d-winter-2005 Notes  Assignment 2 instability - don’t worry about it right now  Please read D. Baraff, “Fast contact force computation for nonpenetrating.
1Notes. 2 Time integration for particles  Back to the ODE problem, either  Accuracy, stability, and ease-of- implementation are main issues  Obviously.
1cs426-winter-2008 Notes. 2 Velocity fields  Velocity field could be a combination of pre-designed velocity elements E.g. explosions, vortices, …  Or.
PHY131H1S - Class 17 Today: Review for Test 2!.
CS 4730 Physical Simulation CS 4730 – Computer Game Design.
Honors Physics Semester 1 Review PowerPoint. Distance vs Displacement Distance = magnitude only = 8m Displacement = magnitude and.
Newton’s Laws Examples Physics 6A Prepared by Vince Zaccone For Campus Learning Assistance Services at UCSB.
Linear momentum and Collisions
Game Physics – Part I Dan Fleck Coming up: Rigid Body Dynamics.
Kinetic Energy, Work, Power, and Potential Energy
Kinetic Energy, Work, Power, and Potential Energy
Mechanics Topic 2.2 Forces and Dynamics. Forces and Free-body Diagrams To a physicist a force is recognised by the effect or effects that it produces.
Chapter 4 Dynamics: Newton’s Laws of Motion
Chapter 7 Linear Momentum. MFMcGraw-PHY 1401Chap07b- Linear Momentum: Revised 6/28/ Linear Momentum Definition of Momentum Impulse Conservation.
1 st Semester Exam Review. Math and Metrics Sig Fig Rules: 505 – zero is significant 500 – zeroes not significant 0.05 – zeroes not significant 5.00 –
 d.s. wu 1 Penalty Methods for Contact Resolution interactive contact resolution that usually works pi david s wu.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Physics for Games Spring 2012.
Exam 2 Review 8.02 W08D1. Announcements Test Two Next Week Thursday Oct 27 7:30-9:30 Section Room Assignments on Announcements Page Test Two Topics: Circular.
Momentum and Collisions Linear Momentum The linear momentum of a particle or an object that can be modeled as a particle of mass m moving with a velocity.
Particle Systems. Applications Particle systems are broadly defined for: Explosion Cloth Fluid And more… It is integrated into many animation software,
Game Technology Animation V Generate motion of objects using numerical simulation methods Physically Based Animation.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Sect. 9.2: Impulse & Momentum
Forces. What is a Force? A force is a push or pull acting on an object that changes the motion of the object.
Today: (Ch. 3) Tomorrow: (Ch. 4) Apparent weight Friction Free Fall Air Drag and Terminal Velocity Forces and Motion in Two and Three Dimensions.
Chapter 2: Describing Motion in 1-D. Frame of Reference Whether or not you are moving depends on your point-of-view. From inside the box car, the woman.
Advanced Computer Graphics Rigid Body Simulation
Laws of Motion Chapter Two.
Motion Along a Straight Line
Advanced Games Development Game Physics
Presentation transcript:

1cs533d-winter-2005 Notes  Finish up time integration methods today  Assignment 1 is mostly out Later today will make it compile etc.

2cs533d-winter-2005 Time scales  [work out]  For position dependence, characteristic time interval is  For velocity dependence, characteristic time interval is  Note: matches symplectic Euler stability limits If you care about resolving these time scales, there’s not much point in going to implicit methods

3cs533d-winter-2005 Mixed Implicit/Explicit  For some problems, that square root can mean velocity limit much stricter  Or, we know we want to properly resolve the position-based oscillations, but don’t care about damping  Go explicit on position, implicit on velocity Cuts the number of equations to solve in half Often, a(x,v) is linear in v, though nonlinear in x; this way we avoid Newton iteration

4cs533d-winter-2005 Newmark Methods  A general class of methods  Includes Trapezoidal Rule for example (  =1/4,  =1/2)  The other major member of the family is Central Differencing (  =0,  =1/2) This is mixed Implicit/Explicit

5cs533d-winter-2005 Central Differencing  Rewrite it with intermediate velocity:  Looks like a hybrid of: Midpoint (for position), and Trapezoidal Rule (for velocity - split into Forward and Backward Euler half steps)

6cs533d-winter-2005 Central: Performance  Constant acceleration: great 2nd order accurate  Position dependence: good Conditionally stable, no damping  Velocity dependence: good Stable, but only conditionally monotone  Can we change the Trapezoidal Rule to Backward Euler and get unconditional monotonicity?

7cs533d-winter-2005 Staggered Implicit/Explicit  Like the staggered Symplectic Euler, but use B.E. in velocity instead of F.E.:  Constant acceleration: great  Position dependence: good (conditionally stable, no damping)  Velocity dependence: great (unconditionally monotone)

8cs533d-winter-2005 Summary (2nd order)  Depends a lot on the problem What’s important: gravity, position, velocity?  Explicit methods from last class are probably bad  Symplectic Euler is a great fully explicit method (particularly with staggering) Switch to implicit velocity step for more stability, if damping time step limit is the bottleneck  Implicit Compromise method Fully stable, nice behaviour

9cs533d-winter-2005 Example Motions

10cs533d-winter-2005 Simple Velocity Fields  Can superimpose (add) to get more complexity  Constants: v(x)=constant  Expansion/contraction: v(x)=k(x-x 0 ) Maybe make k a function of distance |x-x 0 |  Rotation: Maybe scale by a function of distance |x-x 0 | or magnitude

11cs533d-winter-2005 Noise  Common way to perturb fields that are too perfect and clean  Noise (in graphics) = a smooth, non-periodic field with clear length- scale  Read Perlin, “Improving Noise”, SIGGRAPH’02 Hash grid points into an array of random slopes that define a cubic Hermite spline  Can also use a Fourier construction Band limited signal Better, more control, but (possibly much) more expensive FFT - check out for one good implementationwww.fftw.org

12cs533d-winter-2005 Example Forces  Gravity: F gravity =mg (a=g)  If you want to do orbits  Note x 0 could be a fixed point (e.g. the Sun) or another particle But make sure to add the opposite and equal force to the other particle if so!

13cs533d-winter-2005 Drag Forces  Air drag: F drag =-Dv If there’s a wind blowing with velocity v w then F drag =-D(v-v w )  D should be a function of the cross-section exposed to wind Think paper, leaves, different sized objects, …  Depends in a difficult way on shape too Hack away!

14cs533d-winter-2005 Spring Forces  Springs: F spring =-K(x-x 0 ) x 0 is the attachment point of the spring Could be a fixed point in the scene …or somewhere on a character’s body …or the mouse cursor …or another particle (but please add equal and oppposite force!)

15cs533d-winter-2005 Nonzero Rest Length Spring  Need to measure the “strain”: the fraction the spring has stretched from its rest length L

16cs533d-winter-2005 Spring Damping  Simple damping: F damp =-D(v-v 0 ) But this damps rotation too!  Better spring damping: F damp =-D(v-v 0 )u u Here u is (x-x 0 )/|x-x 0 |, the spring direction  [work out 1d case]  Critical damping

17cs533d-winter-2005 Collision and Contact

18cs533d-winter-2005 Collision and Contact  We can integrate particles forward in time, have some ideas for velocity or force fields  But what do we do when a particle hits an object?  No simple answer, depends on problem as always  General breakdown: Interference vs. collision detection What sort of collision response: (in)elastic, friction Robustness: do we allow particles to actually be inside an object?

19cs533d-winter-2005  Interference (=penetration) Simply detect if particle has ended up inside object, push it out if so Works fine if [w=object width] Otherwise could miss interaction, or push dramatically the wrong way The ground, thick objects and slow particles  Collision Check if particle trajectory intersects object Can be more complicated, especially if object is moving too…  For now, let’s stick with the ground (y=0) Interference vs. Collision

20cs533d-winter-2005 Repulsion Forces  Simplest idea (conceptually) Add a force repelling particles from objects when they get close (or when they penetrate) Then just integrate: business as usual Related to penalty method: instead of directly enforcing constraint (particles stay outside of objects), add forces to encourage constraint  For the ground: Frepulsion=-Ky when y<0 [think about gravity!] …or -K(y-y0)-Dv when y<y0 [still not robust] …or K(1/y-1/y0)-Dv when y<y0

21cs533d-winter-2005 Repulsion forces  Difficult to tune: Too large extent: visible artifact Too small extent: particles jump straight through, not robust (or time step restriction) Too strong: stiff time step restriction, or have to go with implicit method - but Newton will not converge if we guess past a singular repulsion force Too weak: won’t stop particles  Rule-of-thumb: don’t use them unless they really are part of physics Magnetic field, aerodynamic effects, …

22cs533d-winter-2005 Collision and Contact  Collision is when a particle hits an object Instantaneous change of velocity (discontinuous)  Contact is when particle stays on object surface for positive time Velocity is continuous Force is only discontinuous at start

23cs533d-winter-2005  At point of contact, find normal n For ground, n=(0,1,0)  Decompose velocity into normal component v N =(vn)n and tangential component v T =v-v N  Normal response:  =0 is fully inelastic  =1 is elastic  Tangential response Frictionless:  Then reassemble velocity v=v N +v T Frictionless Collision Response

24cs533d-winter-2005 Contact Friction  Some normal force is keeping v N =0  Coulomb’s law (“dry” friction) If sliding, then kinetic friction: If static (v T =0) then stay static as long as  “Wet” friction = damping

25cs533d-winter-2005 Collision Friction  Impulse assumption: Collision takes place over a very small time interval (with very large forces) Assume forces don’t vary significantly over that interval---then can replace forces in friction laws with impulses This is a little controversial, and for articulated rigid bodies can be demonstrably false But nevertheless… Normal impulse is just m∆v N =m(1+  )v N Tangential impulse is m∆v T

26cs533d-winter-2005  So replacing force with impulse:  Divide through by m, use  Clearly could have monotonicity/stability issue  Fix by capping at v T =0, or better approximation for time interval e.g. Wet Collision Friction

27cs533d-winter-2005 Dry Collision Friction  Coulomb friction: assume  s =  k (though in general,  s ≥  k )  Sliding:  Static:  Divide through by m to find change in tangential velocity

28cs533d-winter-2005 Simplifying…  Use  Static case is when  Sliding case is  Common quantities!

29cs533d-winter-2005 Dry Collision Friction Formula  Combine into a max First case is static where v T drops to zero if inequality is obeyed Second case is sliding, where v T reduced in magnitude (but doesn’t change signed direction)

30cs533d-winter-2005 Where are we?  So we now have a simplified physics model for Frictionless, dry friction, and wet friction collision Some idea of what contact is  So now let’s start on numerical methods to simulate this

31cs533d-winter-2005 “Exact” Collisions  For very simple systems (linear or maybe parabolic trajectories, polygonal objects) Find exact collision time (solve equations) Advance particle to collision time Apply formula to change velocity (usually dry friction, unless there is lubricant) Keep advancing particle until end of frame or next collision  Can extend to more general cases with conservative ETA’s, or root-finding techniques  Expensive for lots of coupled particles!

32cs533d-winter-2005 Fixed collision time stepping  Even “exact” collisions are not so accurate in general [hit or miss example]  So instead fix ∆t collision and don’t worry about exact collision times Could be one frame, or 1/8th of a frame, or …  Instead just need to know did a collision happen during ∆t collision If so, process it with formulas

33cs533d-winter-2005 Relationship with regular time integration  Forgetting collisions, advance from x(t) to x(t+∆t collision ) Could use just one time step, or subdivide into lots of small time steps  We approximate velocity (for collision processing) as constant over time step:  If no collisions, forget this average v, and keep going with underlying integration

34cs533d-winter-2005 Numerical Implementation 1  Get candidate x(t+∆t)  Check to see if x(t+∆t) is inside object (interference)  If so Get normal n at t+∆t Get new velocity v from collision response formulas and average v Replay x(t+∆t)=x(t)+∆tv