Interactive Skeleton-Driven Dynamic Deformation

Slides:



Advertisements
Similar presentations
THE FINITE ELEMENT METHOD
Advertisements

AERSP 301 Finite Element Method
Isoparametric Elements Element Stiffness Matrices
P. Venkataraman Mechanical Engineering P. Venkataraman Rochester Institute of Technology DETC2013 – 12269: Continuous Solution for Boundary Value Problems.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 9: Extrinsic Deformations Fall 2012.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 10: Extrinsic Deformations Fall 2014.
Beams and Frames.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Extended Gaussian Images
Some Ideas Behind Finite Element Analysis
By S Ziaei-Rad Mechanical Engineering Department, IUT.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Notes Assignment questions… cs533d-winter-2005.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
1cs533d-term Notes  Assignment 2 is up. 2cs533d-term Modern FEM  Galerkin framework (the most common)  Find vector space of functions that.
INFORMATIK Differential Coordinates for Interactive Mesh Editing Yaron Lipman Olga Sorkine Daniel Cohen-Or David Levin Tel-Aviv University Christian Rössl.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
Motion Analysis (contd.) Slides are from RPI Registration Class.
Computational Fracture Mechanics
Optical flow and Tracking CISC 649/849 Spring 2009 University of Delaware.
Computational Fracture Mechanics
Non-Euclidean Embedding
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Computer graphics & visualization Rigid Body Simulation.
III Solution of pde’s using variational principles
Laplacian Surface Editing
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
CIS V/EE894R/ME894V A Case Study in Computational Science & Engineering HW 5 Repeat the HW associated with the FD LBI except that you will now use.
UT DALLAS Erik Jonsson School of Engineering & Computer Science FEARLESS engineering Stable Real-Time Deformations Authors: Matthias Muller, Julie Dorsey,
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
V. Space Curves Types of curves Explicit Implicit Parametric.
Mesh Deformation Based on Discrete Differential Geometry Reporter: Zhongping Ji
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
Finite Element Method.
An introduction to the finite element method using MATLAB
Haptics and Virtual Reality
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
1 20-Oct-15 Last course Lecture plan and policies What is FEM? Brief history of the FEM Example of applications Discretization Example of FEM softwares.
The Finite Element Method A Practical Course
Lecture Fall 2001 Physically Based Animation Ordinary Differential Equations Particle Dynamics Rigid-Body Dynamics Collisions.
Detail-Preserving Fluid Control N. Th ű rey R. Keiser M. Pauly U. R ű de SCA 2006.
Stable, Circulation- Preserving, Simplicial Fluids Sharif Elcott, Yiying Tong, Eva Kanso, Peter Schröder, and Mathieu Desbrun.
1 Complex Images k’k’ k”k” k0k0 -k0-k0 branch cut   k 0 pole C1C1 C0C0 from the Sommerfeld identity, the complex exponentials must be a function.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Illustration of FE algorithm on the example of 1D problem Problem: Stress and displacement analysis of a one-dimensional bar, loaded only by its own weight,
AS-RIGID-AS-POSSIBLE SHAPE MANIPULATION
Static Equilibrium and Elasticity
HEAT TRANSFER FINITE ELEMENT FORMULATION
David Levin Tel-Aviv University Afrigraph 2009 Shape Preserving Deformation David Levin Tel-Aviv University Afrigraph 2009 Based on joint works with Yaron.
Sculpted Data Driven and Physically Based Character Deformation Patrick Coleman CSC 2529 Character Animation February 12, 2003.
CHAP 3 WEIGHTED RESIDUAL AND ENERGY METHOD FOR 1D PROBLEMS
Skuller: A volumetric shape registration algorithm for modeling skull deformities Yusuf Sahillioğlu 1 and Ladislav Kavan 2 Medical Image Analysis 2015.
Discretization Methods Chapter 2. Training Manual May 15, 2001 Inventory # Discretization Methods Topics Equations and The Goal Brief overview.
Basic Geometric Nonlinearities Chapter Five - APPENDIX.
CS274 Spring 01 Lecture 8 Copyright © Mark Meyer Lecture VIII Deformable Bodies CS274: Computer Animation and Simulation.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Introduction to Parametric Curve and Surface Modeling.
1 CHAP 3 WEIGHTED RESIDUAL AND ENERGY METHOD FOR 1D PROBLEMS FINITE ELEMENT ANALYSIS AND DESIGN Nam-Ho Kim.
Physically-Based Motion Synthesis in Computer Graphics
Sculpted Data Driven and Physically Based Character Deformation
Morphing and Shape Processing
3D Object Representations
CSE 554 Lecture 9: Laplacian Deformation
Materials Science & Engineering University of Michigan
Manipulator Dynamics 2 Instructor: Jacob Rosen
CSE 554 Lecture 10: Extrinsic Deformations
GPAT – Chapter 7 Physics.
Presentation transcript:

Interactive Skeleton-Driven Dynamic Deformation Adaptive Space Deformations Based on Rigid Cells Catalin Constantin

Interactive Skeleton-Driven Dynamic Deformation Overview and Facts Formulation Basics Hierarchical Basis Equations of Motion Numerical Integration Implicit Solution Imposing Bone Constraints Linear Subspace Constraints Blended Local Linearization Twist Constraints Simulation Step Example

Overview and Facts creating realistic character animations that support physically based secondary motions. Plain-old key framing doesn’t go too far shape movement/deformation controlled by line segment based skeletons supports line constraints (along with bone constraints), multiresolution, and bended local linearization for non-linear constraints

objects represented as a domain in space Formulation Basics (1) objects represented as a domain in space instrument each object with a skeletal complex S (with joints and bones) interior to the object motion of the object is a time dependent mapping function p, such that: are mappings of a generic point in the object and, respectively, of a special point of the skeletal structure.

given the mapping functions: Formulation Basics (2) given the mapping functions: p(x,t) results from a PDE system subject to the bone constraints rigidity of the bones implies piecewise linear constraints for numerical integration we apply FEM and separate the mapping p(x,t) into a rest state r(x), and a dynamic displacement, time dependent, d(x,t). * whenever a term contains the same index as both a subscript and a superscript it is assumed to represent a finite sum of that domain.

Hierarchical Basis used to allow simulation to adapt to local conditions (increase resolution where needed) basis B defined in terms of repeated subdivisions of the control lattice K Edges of S (bones) are edges of cells of K, and their basis coefficients reduce to unity. This means that representation of transformed vertices of S are simplified as:

Hierarchical Basis (complex objects) Model instrumented with a skeleton and local coordinate systems at joints Model embedded in (half) control lattice Skeleton coincides with lattice edges and vertices Regions for local linearization; notice color blending where regions overlap (near joints)

gradient of T in respect to the time derivative of q Equations of Motion (1) based on representation in equation (1), we can express kinetic energy T and potential elastic energy V as functions of q and its time derivative. Equations of motion are the Euler-Lagrange equations: gradient of T in respect to the time derivative of q gradient of V in respect to q generalized external force, such as gravity generalized dissipative force to simulate friction Next we’ll see how we can actually use each of these

I. Kinetic Energy Formulation: Equations of Motion (2) I. Kinetic Energy Formulation: the Kinetic Energy of a moving body is a generalization of the very familiar scalar form: after further differentiation and simplification: which is the first term of the Euler-Lagrange equation of motion

II. Potential Energy Formulation (a): Equations of Motion (3) II. Potential Energy Formulation (a): the Elastic Potential Energy captures the amount of work required to deform the body from the rest shape to its current shape, and it depends on: the strain tensor (degree of metric distortion, Green’s strain tensor is a standard measure of strain) the stress tensor (defined in terms of stress) where G is called shear modulus or modulus of gravity, and ʋ is called Poisson ratio (the extent to which strains in one direction are related to those perpendicular to it)

II. Potential Energy Formulation (b): Equations of Motion (4) II. Potential Energy Formulation (b): eluding some derivation steps which are not essential to our lecture, the final form of the Elastic Potential Energy in terms of stress and strain: a more meaningful relation used in the integration step is the relationship between V and a matrix based on the strain and stress tensors, called stiffness matrix S: whose representation in derivative form can be substituted in the numerical integration step

III. External force (such as gravity) Equations of Motion (5) III. External force (such as gravity) treat gravity as a constant acceleration field and compute the potential energy it produces on the body. It will be a value in terms of g and (sometimes) q IV. Dissipative force (friction) The friction simulation effect is already a measure in terms of the time derivative of q and can be used directly in the numerical integration step

Numerical Integration subdivide K to the desired level for numerical integration compute the value of the basis function at each vertex tetrahedralize the domain. After the first subdivision we have a hexahedral domain. After another subdivision we get tetrahedral cells compute the integrals over each domain cell using piecewise approximations to the basis functions. When all four vertices of a tetrahedron fall outside, its contribution is neglected solving the system? – linearize the equations of motion at the beginning of each timestep and apply an implicit solver to the equations of motion Next, a quick review of the Second Order Implicit Solution

general form of second-order dynamics equation is: Implicit Solution (1) general form of second-order dynamics equation is: introduce v and solve as a system: based on Euler step express change as:

using Taylor expansion of a function of two variables: Implicit Solution (2) using Taylor expansion of a function of two variables: substitute (f) and (d) into (e) and we get: regrouping, we obtain the following solution (the second variant is for the case when we have dependency of f on time):

starting from the previous solution pair: Implicit Solution (3) starting from the previous solution pair: apply the strategy to our equations of motion Now let’s work some details that may look scary …

Implicit Solution (4) … and here is the solution all quantities are evaluated at the beginning of the timestep the last equation is a sparse linear system that can be solved using a CG (Conjugate Gradients) solver ∆v is then substituted in the first equation to get ∆q

Imposing the Bone Constraints in this framework the skeleton is controlled by keyframe data, or by some external control from simulation point of view, the skeleton is simply a complicated constraint because bones lie along the lattice, their equations are easy to handle algebraically. A simplified version of the last equation is: A ∆v = b, and ∆v contains both known values (from the control points) and unknown values (from all other points). Adding skeletal constraints actually reduces the computational cost by shrinking the system

Linear Subspace Constraints caused by interaction with other objects. We can impose position constraints at any point in a continuous body the displacement at certain points conforms to a known function d. Evaluating the fist equation of the solution pair we obtain an expression which can be computed at the beginning of each timestep:

Blended Local Linearization to successfully apply this on articulated characters, we note that they only undergo large deformations around joints. We subdivide in regions, and assign weights to the control vertices. Each region has an associated function space whose weight coefficients produce most impact to the points in that region The bottleneck of this model is computation of the stiffness matrix at the beginning of each time step solution? Linearize the strain tensor (drop last term) which yields a constant stiffness matrix and works fine for small deformations. Why is that satisfactory? What about big deformations?

Twisting Constraints flesh can rotate about a line constraint if no special measure is applied yielding unnatural free movement solution? Introduce constraint to penalize all displacement within certain fixed radius of the bones

One Simulation Step extract regional variables from global system convert q to the displacement from the transformed rest shape (T is the transform of the bone associated to region) builds the linear system solve the linear system CG solver solution merged from each region according to weights assigned by the user/external update global state 1 update global state 2 Qi is a rectangular matrix to select basis functions that have nonzero restrictions on region i

Adaptive Space Deformations Based on Rigid Cells Overview and Facts Formulation Basics Nonlinear Optimization Adaptive Space Discretization Space Deformation Results, Limitations, and To Do’s

Overview and facts physically inspired volumetric shape deformation based on simplified elastic energy formulation contrasted with surface-based deformations which, even though computationally less intensive, tend to alter certain features such as local/global volume. works with any kind of convex cells. Fast discretization update supported by underlying data structure (octree) support for arbitrary sample based surface representations (meshes, triangle soups, point clouds, etc.)

Formulation Basics (1) elastic strain energy for deformable objects is typically defined in terms of the gradient of the displacement function in contrast with FEM based models where individual cells are deformed, this approach wants to preserve cells rigid for the sake of numerical robustness and to model deformation energy based on an elastic glue that couples adjacent cells.

Formulation Basics (2) when two adjacent cells are displaced from their initial positions by rigid motions (transforms) Ti and Tj, we can define the elastic energy in terms of square distances of a set of representative sample points between the two transforms. which sample points are best? If possible … all! For simple shapes that are easy to integrate analytically it works quite well.

Formulation Basics (3) global energy for the cell complex is defined as a weighted average of the piecewise energies (1) for all pairs of adjacent cells. weights depend on the area of the (partially) shared face and perpendicular distanced to the face from the centers of mass. * in case of an adaptive hexahedral face the perpendicular is half the voxel size, and face area uses the min of the two voxel sizes

Nonlinear Optimization (1) Interaction with the model is done by selecting a deformable region (blue in the first image) a fixed region (gray in the first image) one or several handles (yellow in the first image) Handles can then be transformed using any existing modeling interface. Each cell stores a rigid motion. It can either be prescribed both rotation and translation, or be fixed at a point and allowed to rotate only. Elastic energy minimized by finding optimal rigid motions for the remaining, unconstrained cells. Equivalent to a geometric shape matching problem – good for Newton-type solver

Nonlinear Optimization (2) in each iteration of the Newton solver we linearize the rigid motions by linear and angular velocities which yield affine approximations, resulting in an energy function quadratic in the linear and angular velocities: minimizing this energy by solving a sparse linear system yields optimal affine motions Ai corresponding to tangent vectors on the manifold of rigid motions that yield a descent direction. The resulting Ai affine motions must be projected on their closest rigid motions amounting to a local shape matching.

Adaptive Space Discretization regular grids are an obvious choice, they are capable of sustaining smooth, large scale deformations, but they do not scale well octree-like refinement based on hexahedral cells with an initial coarse, regular grid, and with the ability to subdivide in areas of high deformation were used. Adaptive threshold – dynamic refinement scheme based on geometric error elastic energy provide strain measure and helps calculate local response based on global information of the surrounding cells (through pairwise elastic energy measure)

Space Deformation every cell of the space decomposition defines a local transform that maps the cell center from its original position ci to the deformed position T(ci). build a continuous space deformation function by interpolating the point transforms choose an advanced interpolation scheme (i.e. triharmonic RBF), which can give fairly efficient non uniform node placement To maintain interactive response during real time simulation (user drags the mouse to produce deformation), use a simpler blending function (i.e. averaging the transforms of the four closest cells), and then perform the in-depth corrections once the real time responsiveness is not necessary anymore (mouse release)

Results, Limitations, and To Do’s (1) simplified editing model, in depth analysis once the general shape was agreed upon. more natural deformations that FEM with explicit volume control limitation on aliasing handle a modest number of cells at interactive rate compared to the linear approach, this one requires considerably more resources octree decomposition directly supports hierarchical solvers, could map well on GPUs for better performance

Results, Limitations, and To Do’s (2)

Results, Limitations, and To Do’s (3)

References [1] Botsch M., Pauly M., Wicke M., Gross M.: Adaptive Space Deformations Based on Rigid Cells. Eurographics 2007. [2] Capell S., Green S., Curless B., Duchamp T., Popovic Z.: Interactive Skeleton-Driven Dynamic Deformations. Proc. of SIGGRAPH 2002. [3] Capell S., Green S., Curless B., Duchamp T., Popovic Z.: A Multiresolution Framework for Dynamic Deformations. University of Washington, department of computer Science and Engineering, Technical Report 02-04-02. [4] Baraff D., and Witkin A.: Large Steps in Cloth Simulation. Computer Graphics. (Proc. SIGGRAPH), 1998 [5] Weber O., Sorkine O., Lipman Y., and Gotsman C.: Context-Aware Skeletal Shape Deformation. (Proc. EUROGRAPHICS), 2007