Download presentation
Presentation is loading. Please wait.
Published byKelly Janel Berry Modified over 8 years ago
1
Time-dependent Shapes (II)
2
IntroductionIntroduction Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives - For arbitrary parametric functions it can be proven that no algorithm can be constructed that is guaranteed to find the earliest time of collision Object transformations and collision detection for time dependent implicitly defined objects Object transformations and collision detection for time dependent implicitly defined objects
3
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives The surfaces are described by parametric functions of three arguments, u, v, and t as in f(u,v,t) The surfaces are described by parametric functions of three arguments, u, v, and t as in f(u,v,t) For suitable types of surfaces, we want to find the earliest time t min, within bounds, such that For suitable types of surfaces, we want to find the earliest time t min, within bounds, such that f(u f,v f,t min ) = g(u g,v g,t min ).
4
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives In practice, we determine when the distance between objects becomes less than a tolerance : In practice, we determine when the distance between objects becomes less than a tolerance : ||f(u f,v f,t min ) - g(u g,v g,t min )|| < . Solution is based on Lipschitz conditions Solution is based on Lipschitz conditions We can construct bounding volumes of parametric surfaces with Lipschitz conditions. Given a continuous parametric surface f(u), the Lipschitz condition states that We can construct bounding volumes of parametric surfaces with Lipschitz conditions. Given a continuous parametric surface f(u), the Lipschitz condition states that ||f(u 2 ) - f(u 1 )|| L||u 2 - u 1 || for some finite number L in some region R of f. for some finite number L in some region R of f.
5
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives We can construct bounding volumes of parametric surfaces with Lipschitz conditions We can construct bounding volumes of parametric surfaces with Lipschitz conditions Graphical illustration (Parametric Space and Modeling Space) of the Lipschitz inequality for parametric function of three variables Graphical illustration (Parametric Space and Modeling Space) of the Lipschitz inequality for parametric function of three variables
6
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives We can construct a set of bounding volumes for the changing surface, in a manner analogous to the method for stationary surfaces We can construct a set of bounding volumes for the changing surface, in a manner analogous to the method for stationary surfaces In this case, L sets an upper bound for the velocity of the parametric surface as well as for the other parametric derivatives. If D is the distance from f(u 2 ) to f(u 1 ), and d = ||u 2 - u 1 ||, we have D Ld. In this case, L sets an upper bound for the velocity of the parametric surface as well as for the other parametric derivatives. If D is the distance from f(u 2 ) to f(u 1 ), and d = ||u 2 - u 1 ||, we have D Ld.
7
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives Collisions using a bounding volume hierarchy for each parametric surface are computed. Collisions using a bounding volume hierarchy for each parametric surface are computed. A variety of subdivision mechanisms are possible, including quadtrees of squares or bintrees of triangles A variety of subdivision mechanisms are possible, including quadtrees of squares or bintrees of triangles Successive subdivision of a 2-dimensional k-d tree in parametric and modeling space Successive subdivision of a 2-dimensional k-d tree in parametric and modeling space
8
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives K-d tree method is used. In the k-d tree method, k-dimensional space is divided into k-dimensional boxes, using planes perpendicular to each of the parametric axes K-d tree method is used. In the k-d tree method, k-dimensional space is divided into k-dimensional boxes, using planes perpendicular to each of the parametric axes Each subdivision level splits the k-dimensional box along one of the dimensions to form two descendant boxes Each subdivision level splits the k-dimensional box along one of the dimensions to form two descendant boxes Parametric rectangular prisms are used to verify that they do not collide Parametric rectangular prisms are used to verify that they do not collide
9
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives For a derivation of the Jacobean bounding boxes we find the maximum of each component of the Jacobean over the region to be bounded For a derivation of the Jacobean bounding boxes we find the maximum of each component of the Jacobean over the region to be bounded We start with the original definition of the Lipschitz condition for parametric function: We start with the original definition of the Lipschitz condition for parametric function: ||f(u) - f(u c )|| L||u - u c || ||f(u) - f(u c )|| L||u - u c ||
10
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives Assume that the condition holds over some parametric subregion R: u 1 u u 2, v 1 v v 2, and t 1 t t 2. Assume that the condition holds over some parametric subregion R: u 1 u u 2, v 1 v v 2, and t 1 t t 2. We define parametric coordinates u c =(u c,v c,t c ) at the center of region R, and modeling space coordinates (x c,y c,z c ) = f(u c ). L 1 norm is used for the right side of the previous equation, and we apply the condition to each component of f separately: We define parametric coordinates u c =(u c,v c,t c ) at the center of region R, and modeling space coordinates (x c,y c,z c ) = f(u c ). L 1 norm is used for the right side of the previous equation, and we apply the condition to each component of f separately: |x -x c | L x (|u - u c | + |v - v c | + |t -t c |), |x -x c | L x (|u - u c | + |v - v c | + |t -t c |), |y -y c | L y (|u - u c | + |v - v c | + |t -t c |), |y -y c | L y (|u - u c | + |v - v c | + |t -t c |), |z -z c | L z (|u - u c | + |v - v c | + |t -t c |), |z -z c | L z (|u - u c | + |v - v c | + |t -t c |), for some suitable values of L i. for some suitable values of L i.
11
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives We distribute the values L i and rename them to arrive at a more general inequality: We distribute the values L i and rename them to arrive at a more general inequality: |x -x c | M xu (|u - u c | + M xv |v - v c | + M xt |t -t c |), |x -x c | M xu (|u - u c | + M xv |v - v c | + M xt |t -t c |), |y -y c | M yu (|u - u c | + M yu |v - v c | + M yt |t -t c |), |y -y c | M yu (|u - u c | + M yu |v - v c | + M yt |t -t c |), |z -z c | M zu (|u - u c | + M zu |v - v c | + M zt |t -t c |). |z -z c | M zu (|u - u c | + M zu |v - v c | + M zt |t -t c |). We can solve for each M ij by choosing appropriate values of (u,v,t). We illustrate with M xu : We can solve for each M ij by choosing appropriate values of (u,v,t). We illustrate with M xu : |x(u,v,t) - x(u c,v,t| M xu |u -u c |, or |x(u,v,t) - x(u c,v,t| M xu |u -u c |, or |(x(u,v,t) - x(u c,v,t))/(u -u c )| M xu, u u c |(x(u,v,t) - x(u c,v,t))/(u -u c )| M xu, u u c
12
Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives Assuming that x(u,v,t) is differentiable, a sufficient value of M xu is an upper bound on the parametric derivative over the region R : Assuming that x(u,v,t) is differentiable, a sufficient value of M xu is an upper bound on the parametric derivative over the region R : M xu max R | x(u,v,t)/ u|. The other elements of the rate matrix M can be derived the same manner The other elements of the rate matrix M can be derived the same manner To set up the collision algorithm, we are given the parametric functions f(u f,v f,t) and g(u g,v g,t). We are also given a function that returns the rate matrix M over a parametric region R. We are given a treshold distance tolerance , below which we should report a collision, including the parameters u f,v f,u g,v g,, and time t To set up the collision algorithm, we are given the parametric functions f(u f,v f,t) and g(u g,v g,t). We are also given a function that returns the rate matrix M over a parametric region R. We are given a treshold distance tolerance , below which we should report a collision, including the parameters u f,v f,u g,v g,, and time t
13
Implicit deformable models Modeling stiffness with field functions Modeling stiffness with field functions An implicit surface S generated by a set of skeletons S i (i=1...n) with associated “field functions” f i defined by: An implicit surface S generated by a set of skeletons S i (i=1...n) with associated “field functions” f i defined by: S = { P R 3 / f(P) = 1} where f(P) = f i (P) An implicit surface can easily be deformed by introducing a deformation term g in its implicit representation: An implicit surface can easily be deformed by introducing a deformation term g in its implicit representation: f(P) + g(P) = 1 (1) The variation of f around the isosurface can be used to model physical properties The variation of f around the isosurface can be used to model physical properties
14
Implicit deformable models In non-linear models, the stiffness k is not only a function of the point P you consider, but may also depend on its current location inside the solid. The applied force during a displacement of P from In non-linear models, the stiffness k is not only a function of the point P you consider, but may also depend on its current location inside the solid. The applied force during a displacement of P from X 0 = (x 0,y 0,z 0 ) to X(P) = (x(P),y(P),z(P)) is: R(P) = k p (Y)dY R(P) = k p (Y)dY The principal deformation direction is defined by the normal vector N(P) or “radial direction”. A small radial force dR(Y) and the resulting small radial displacement dY must satisfy: The principal deformation direction is defined by the normal vector N(P) or “radial direction”. A small radial force dR(Y) and the resulting small radial displacement dY must satisfy: k p (Y)dY = dR(Y). k p (Y)dY = dR(Y).
15
Implicit deformable models If we express deformations by variations in the field function, it yields: If we express deformations by variations in the field function, it yields: df(Y) = Grad(f,Y) dY = Grad(f,Y) dR(Y)/k p (Y). (2) df(Y) = Grad(f,Y) dY = Grad(f,Y) dR(Y)/k p (Y). (2) To express physical properties we want to use the field function and directly model stiffness with the field’s gradient: To express physical properties we want to use the field function and directly model stiffness with the field’s gradient: Grad(f,Y) = -k p (Y)N(Y), Y. (3) Grad(f,Y) = -k p (Y)N(Y), Y. (3) This choice simplifies equation (2) which yields: This choice simplifies equation (2) which yields: df(Y) = - (N(P) d R(Y))) = - N(P) R(P), (4) df(Y) = - (N(P) d R(Y))) = - N(P) R(P), (4) where the normal vector N(P) remains constant during radial deformations
16
Implicit deformable models Let g(P) = f(X(P)) - f(X 0 ) be the deformation field term associated at equilibrium with the radial force R. Here the correspondence formula (4) becomes: Let g(P) = f(X(P)) - f(X 0 ) be the deformation field term associated at equilibrium with the radial force R. Here the correspondence formula (4) becomes: g(P) = - N(P) R(P), (5) g(P) = - N(P) R(P), (5) This correspondence gives elastic properties in radial directions This correspondence gives elastic properties in radial directions Let S be an object defined by a single skeleton and P s a point of this skeleton. The field function along the segment between P s and the closest point of the surface can be expressed as a function f(r) of the distance r(p) = d(P,P s ). From equation (3), the local stiffness at point P satisfies: Let S be an object defined by a single skeleton and P s a point of this skeleton. The field function along the segment between P s and the closest point of the surface can be expressed as a function f(r) of the distance r(p) = d(P,P s ). From equation (3), the local stiffness at point P satisfies: k(P)N(P) = -f(r(P)) Grad(r,P). k(P)N(P) = -f(r(P)) Grad(r,P). Grad(r,P) = (P- Ps)/||P -Ps|| =N(P), so: k(P) = -f(r(P)) k(P) = -f(r(P)) The resulting geometric representation of stiffness facilitates the control of the simulated material The resulting geometric representation of stiffness facilitates the control of the simulated material
17
Interpenetration detection - Sample points and the associated normal vectors are precomputed and stored relative to the local coordinate system Modeling contact - Interpenetration zone propagation area for S i Computation of response forces - The reaction forces directed along normal vectors are given by the correspondence (5) g(P) = N(P) R(P), between forces and deformations The general animation algorithm includes Interpenetration detection - Sample points and the associated normal vectors are precomputed and stored relative to the local coordinate system Modeling contact - Interpenetration zone propagation area for S i Computation of response forces - The reaction forces directed along normal vectors are given by the correspondence (5) g(P) = N(P) R(P), between forces and deformations Implicit deformable models
18
Example: Layered implicit models Internal layer Internal layer Rigid, articulated, deformable bodies, particles Rigid, articulated, deformable bodies, particles Implicit Surface layer Implicit Surface layer Skeletons linked to the internal layer Skeletons linked to the internal layer Distance e fifi iso
19
AnimationAnimation At each time step At each time step Animate internal layers Animate internal layers Move skeletons Move skeletons Use implicit layers to treat collisions Use implicit layers to treat collisions detect collisions detect collisions model contact model contact compute response forces compute response forces Display deformed objects Display deformed objects MPgasIS\CONTEX~1.GIF MPgasIS\CONTEX~1.GIF MPgasIS\CONTEX~1.GIF
20
Detecting interactions In / out function In / out function f(P) > iso ? f(P) > iso ? For each pair of implicit surfaces For each pair of implicit surfaces Use bounding boxes Use bounding boxes Test sample points against in/out function Test sample points against in/out function
21
Modeling contact Add deformation fields f 1 (P) + g 1 (P) = iso Add deformation fields f 1 (P) + g 1 (P) = iso f 2 (P) + g 2 (P) = iso f 2 (P) + g 2 (P) = iso penetrating propagation after deformation
22
Collision response Forces are exerted along contact surfaces Forces are exerted along contact surfaces f 1 = f 2 f 1 = f 2 Reaction computed from the deformation field Reaction computed from the deformation field g 1 = ( f 2 - iso) g 1 = ( f 2 - iso) action / reaction law R 1 = ( f 2 - iso) N 1 = - ( f 1 - iso) N 2 = - R 2
24
Talking Lips Layered structure Layered structure Speech synchronization Speech synchronization - key frames for axial curve Soft flesh Soft flesh - masses-springs of zero length Implicit Layer Implicit Layer - point skeletons on masses
25
Results !
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.