Time-dependent Shapes (II). IntroductionIntroduction Collision detection for time dependent parametric surfaces that are continuous and bounded in derivatives.

Slides:



Advertisements
Similar presentations
Chapter 9: Vector Differential Calculus Vector Functions of One Variable -- a vector, each component of which is a function of the same variable.
Advertisements

Kinematics of Particles
Geometry Primer Lines and rays Planes Spheres Frustums Triangles Polygon Polyhedron.
Some Ideas Behind Finite Element Analysis
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
UNC Chapel Hill S. Redon - M. C. Lin Rigid body dynamics II Solving the dynamics problems.
Curves Locus of a point moving with one degree of freedom
16 MULTIPLE INTEGRALS.
Mechanics of Rigid Bodies
Chapter 16 – Vector Calculus
1Notes. 2 Time integration for particles  Back to the ODE problem, either  Accuracy, stability, and ease-of- implementation are main issues  Obviously.
VECTORS AND THE GEOMETRY OF SPACE Vectors VECTORS AND THE GEOMETRY OF SPACE In this section, we will learn about: Vectors and their applications.
Scalar and Vector Fields
Section 9.2 Vectors Goals Goals Introduce vectors. Introduce vectors. Begin to discuss operations with vectors and vector components. Begin to discuss.
DEPARTMENT OF MATHEMATI CS [ YEAR OF ESTABLISHMENT – 1997 ] DEPARTMENT OF MATHEMATICS, CVRCE.
Distributed Forces: Moments of Inertia
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Chapter 9-Vectors Calculus, 2ed, by Blank & Krantz, Copyright 2011 by John Wiley & Sons, Inc, All Rights Reserved.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
UNIVERSITI MALAYSIA PERLIS
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Functions of Several Variables Local Linear Approximation.
1 Chapter 2 Vector Calculus 1.Elementary 2.Vector Product 3.Differentiation of Vectors 4.Integration of Vectors 5.Del Operator or Nabla (Symbol  ) 6.Polar.
Engineering Mechanics: Statics
Ch. 10 Vector Integral Calculus.
ME 520 Fundamentals of Finite Element Analysis
Dynamics. Chapter 1 Introduction to Dynamics What is Dynamics? Dynamics is the study of systems in which the motion of the object is changing (accelerating)
Chapter 8 Distributed Forces: Moments of Inertia
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Motion and Stress Analysis by Vector Mechanics Edward C. Ting Professor Emeritus of Applied Mechanics Purdue University, West Lafayette, IN National Central.
Vectors and the Geometry of Space 9. Vectors 9.2.
Copyright © Cengage Learning. All rights reserved. 12 Vectors and the Geometry of Space.
10.7 Moments of Inertia for an Area about Inclined Axes
Lecture Fall 2001 Physically Based Animation Ordinary Differential Equations Particle Dynamics Rigid-Body Dynamics Collisions.
Fluid Flows due to Pure Mechanical Forces… P M V Subbarao Professor Mechanical Engineering Department I I T Delhi Construction of Navier-Stokes Equations.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
Dr. Wang Xingbo Fall , 2005 Mathematical & Mechanical Method in Mechanical Engineering.
Principle of Engineering ENG2301 F Mechanics Section F Textbook: F A Foundation Course in Statics and Dynamics F Addison Wesley Longman 1997.
HEAT TRANSFER FINITE ELEMENT FORMULATION
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
MA4248 Weeks 6-7. Topics Work and Energy, Single Particle Constraints, Multiple Particle Constraints, The Principle of Virtual Work and d’Alembert’s Principle.
Section 17.2 Line Integrals.
Ch 9.2: Autonomous Systems and Stability In this section we draw together and expand on geometrical ideas introduced in Section 2.5 for certain first order.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Physically based deformations of implicit surfaces Michal Remiš.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Strength of Materials Malayer University Department of Civil Engineering Taught by: Dr. Ali Reza Bagherieh In The Name of God.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Copyright © Cengage Learning. All rights reserved.
Copyright © Cengage Learning. All rights reserved. 16 Vector Calculus.
1 Teaching Innovation - Entrepreneurial - Global The Centre for Technology enabled Teaching & Learning, N Y S S, India DTEL DTEL (Department for Technology.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Operators in scalar and vector fields
CHAPTER 9.10~9.17 Vector Calculus.
1 Variational and Weighted Residual Methods. 2 Introduction The Finite Element method can be used to solve various problems, including: Steady-state field.
Solid object break-up Ivan Dramaliev CS260, Winter’03.
Vectors and the Geometry
Our task is to estimate the axial displacement u at any section x
Soh Ping Jack, Azremi Abdullah Al-Hadi, Ruzelita Ngadiran
What is statics? Lecture 1
12 Vector-Valued Functions
Kinetics of Particles: Newton’s Second Law
Continuum Mechanics (MTH487)
Digital Control Systems (DCS)
Copyright © Cengage Learning. All rights reserved.
8-1 Introduction a) Plane Stress y
1st semester a.y. 2018/2019 – November 22, 2018
Presentation transcript:

Time-dependent Shapes (II)

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

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

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.

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

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.

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

Results !