Haptics and Virtual Reality Lecture 10: Deformable Object M. Zareinejad
Deformable models Deformable models Heuristic approaches Deformable splines Spring-mass models Linked volume tensor-mass model Hybrid models Tensor pre-computation(tensor mass) continuum mechanical approach Fast finite elements (FFE)
Deformable splines splines Bezier NURBS(non-uniform rational B-splines)
Deformable splines Not physically-based!!
Linked volume volumetric extension of the basic spring-mass model Basic model volumetric extension of the basic spring-mass model
Linked volume ChainMail algorithm Idea: Discrete model of deformable object = 3D chain. A moving link pushes/pulls its neighboring links. When the connection to a neighboring link is stretched/compressed to the limit, motion is transferred to the respective neighbor. Small displacements of a single node cause: Local deformations within a relaxed medium. Global deformations within a fully stressed medium.
ChainMail deformation constraints zmax zmin ymin ymax xmin xmax Deformation constraints: Restrict where chain links can be relative to their neighbors. Stretching, compression: Links within: [dxmin, dxmax]; [dymin, dymax]; and [dzmin, dzmax] of left/right, in front/behind, and top/bottom neighbors, respectively.
ChainMail – conclusions Requires elastic relaxation: Potential energy not minimized. Adjust links to satisfy energy constraints when there is time. Energy defined in terms of link position w.r.t. its neighbors. Object deforms approximately, and changes shape over time. Simple to implement. Computationally efficient/memory intensive. Can simulate non-homogeneous & anisotropic objects. Not physically-based: Biomechanics properties -> deformation constraints?
Finite element Model The main idea is to use finite element method to model the mechanical properties of the relationship between stress and strain. mechanical properties such as modulus of elasticity and Poisson ratio Displacement any arbitrary point of the element related to the displacement of nodes, This is done with functions shape.
Finite element Model Two types: linear and non-linear Linear : Static and Dynamic Static : Dynamic :
Finite element Model 2D: 3D:
Two-dimensional triangular element: Finite element Model Two-dimensional triangular element:
Finite element Model Displacement any arbitrary point of the element related to the displacement of nodes, This is done with functions shape. Pascal's triangle in two-dimensional :
Finite element Model Static : Stiffness matrix for each element Material constants matrix Static : Stiffness matrix for each element Strain-Displacement matrix Since these matrices are constant for a specific element, the integral is performed on the area of each element and Stiffness matrices are computed according to the equation : Area of each triangular element
Finite element Model Material constants matrix: (plane strain) Young’s modulus Poisson’s ratio
Finite element Model Strain-Displacement matrix : Hm is the element shape function matrix
Finite element Model hk is the shape function of each node of the element, for the linear triangle element, this function is given by: by substituting hk in previous equation :
Finite element Model : The area of each triangle is calculated as follows : where x and y are the coordinates of nodes 1,2 and 3 of each element
Finite element Model Dynamic : Stiffness matrix for each element :
Finite element Model Mass matrix : Damping matrix : Element shape function matrix Mass matrix : Mass density of element Damping matrix : Damping property of element
Finite element Model The position, velocity and acceleration of each node in the discretized object are updated at each simulation time step. The selection of the magnitude of this time step is important because a very large value of time step could cause the result to diverge, while a .small value would unnecessarily increase the computations There are two methods to solve the above equation : Explicit Numerical Integration Implicit Numerical Integration
Finite element Model Difference formulas for approximating the velocity and acceleration in terms of displacements can be derived as follows:
Finite element Model By substituting previous equations into the system of dynamic equations the following relation is obtained:
FEM models - advantages Easy to incorporate biomechanical properties: Young’s modulus & Poisson’s ratio are included in the simulation regardless of mesh topology. Time step does not restrict model stiffness in dynamic simulation if semi-implicit integration is used: Remeshing does not affect stability. Suitable for describing fluids. Performance and accuracy limits are well known. Mesh compatible with data structures used for graphic rendering.
FEM model - limitations Preprocessing: Automatic generation of good meshes is difficult. Large deformations: Remeshing. Topology changes – cutting, tearing, fracture: Computational performance: Interactivity remains challenging. Optimizations available only for linear problems.
Commercial Software for FEM ABAQUS ADINA ANSYS DYNA3D FEMLAB GT STRUDL IDEAS NASTRAN
Real-time FEM • Parallelization • Tessellation of the problem