1D deformable model for real time physical simulation Julien Lenoir november 23 rd 2004 GRAPHIX-LIFL Christophe Chaillou Philippe Meseure, Laurent Grisoni
2 Objectives IRCAD Simulation group-CIMIT
3 Outlines 1) 1D deformable model 2) Constraints 3) Multi-resolution
4 Physically-based animation: generalities l Possible independent geometry-physics l Time discretization => time step l Collision detection and response l Physical resolution: static vs dynamic l Static: calculates the new positions l Dynamic: computes the accelerations l Numerical integration => velocities and positions
5 General context l Mechanical model = Model defined by physical laws l Discrete => physical equations are linked to some specific location l Continuous => physical equations are formulated in a continuous domain l with spatial discretization l without spatial discretization
6 Outlines 1) 1D deformable model 2) Constraints 3) Multi-resolution
7 1) 1D deformable model l Real/Interactive time for manipulation l Realistic behavior stretching bendingtwisting
8 1) 1D deformable model Previous works l Geometric model: piecewise linear, subdivision, spline… l Physical model: l Discrete models: l Mass-spring [Desbrun et al.99] [Casiez01] l dynamic l Continuous models: l Finite difference [Terzo87] l dynamic, spatial discretization (regular grid) l Lagrange [QinTerzo96][Remion99] l dynamic, non spatial discretization, spline l Cosserat elasticity - static resolution [Pai02] l static
9 1) 1D deformable model Choices l Geometry: l Discrete model (points) l Subdivision curve l Continuous model (spline…) l Physics: l Discrete models: Mass-spring (Newton) l Continuous models: l Spatial discretization: FDM, LEM… l Any DOF: Modal analysis, Lagrange formalism
10 1) 1D deformable model Our Choices l Geometry: l Discrete model (points) l Subdivision curve l Continuous model (spline…) l Physics: l Discrete models: Mass-spring (Newton) l Continuous models: l Spatial discretization: FDM… l Any DOF: Modal analysis, Lagrange formalism
11 1) 1D deformable model Our Choices: Geometry l Spline model: l interpolation/approximation of n control points l weight given by basis functions l abscissa parameter
12 1) 1D deformable model Our Choices: Geometry l Important properties of a spline: l Vector of particular parametric values l Continuity: C 0, C 1 (Catmull-Rom), C 2 (cubic Bspline),… l For most models: locality of order m: Each control point influences at most m spline segments
13 1) 1D deformable model Our Choices: Geometry Bezier basis functions Uniform cubic Bspline basis functions No localityLocality of order 4
14 1) 1D deformable model Our Choices: Physics l Lagrange formalism: l Set of n virtual DOF l Defines and l Principle of virtual works l Lagrangian l Principle of minimum action => minimization of the Lagrangian action
15 l DOF = coordinates of the control points => equations of motion: Defining kinetic energy: 1) 1D deformable model Dynamic simulation of a spline Parametric density of massVelocity of a point
16 l Matrix form: where is the generalized mass matrix and is the DOF acceleration vector 1) 1D deformable model Dynamic simulation of a spline
17 l Properties of : l Axis independence => 3 sub-systems l symmetric l Band of width 2m-1 (m=locality order) l Constant over time l => LU pre-computation of (constant and band) 1) 1D deformable model Dynamic simulation of a spline
18 1) 1D deformable model Dynamic simulation of a spline l Right part of Lagrange equations: l Gravity l Ambient viscosity l Interactions with other objects, users or itself l Deformation energies => Gathered in a vector l System resolution: LU band => O(n) l Numerical integration => getting new velocities and positions
19 1) 1D deformable model Deformation energies l Type: l Discrete l Continue l Deformations: l Stretching l Bending
20 1) 1D deformable model Deformation energies l Discrete deformation energies l Parametric sampling of the curve points = extremities of the spline segments Point sampling on spline segments
21 l Discrete deformation energies l Stretching springs l Bending springs 1) 1D deformable model Deformation energies Continuous distribution of masses (Lagrange) => not a mass-spring model l Angular springs
22 1) 1D deformable model Deformation energies l Continuous deformation energies l Stretching [Nocent01] elasticity given by the Young modulus l Bending: Estimated by the second derivative of the position Tangent Curvature Force: not a pure bending energy
23 1) 1D deformable model Test framework l Visualization using generalized cylinder, implicit surface,... l Animation software framework: SPORE l Approximation using spheres for collision detection l => decomposition of the spline into spheres: l Curvilinear distribution of spheres => dynamic algorithm Extremity of a spline segment
24 1) 1D deformable model Results (PIV 2.4Ghz, 512 Mb) l Computation time for one simulation time step (1ms), including numerical integration (RK4): l Cubic NUBS, 50 points, discrete energies: 7.69ms l Cubic UBS, 50 points, discrete energies: 5.73ms spline having a uniform knot vector get pre-computed parts
25 1) 1D deformable model Results (PIV 2.4Ghz, 512 Mb) l Computation time for one simulation time step (1ms), including numerical integration (RK4): l 4 cubic NUBS, 15 points, discrete energies: 6.9ms l 4 cubic NUBS, 15 points, continuous energies: 8.9ms
26 1) 1D deformable model Results (PIV 2.4Ghz, 512 Mb) l Computation time for one simulation time step (1ms), including numerical integration (RK4): l 11 cubic NUBS, 15 points, discrete energies: 7.1ms l 4 cubic NUBS, 10 points, continuous energies: 5ms
27 1) 1D deformable model Application: Intestine simulation l Rendering: Implicit surface - punctual skeleton [Triquet01] l Simulation: 165 points, 14ms for one time step of 1ms Spline with uniform knot vector => pre-computation
28 1) 1D deformable model Contribution summary l Real-time simulation of 1D dynamic spline l Proposition of a continuous bending energy l Extension to 2D and 3D objects
29 Outlines 1) 1D deformable model 2) Constraints 3) Multi-resolution
30 2) Constraints Why using constraints ? l Some interactions cannot be handled by collisions: l Linked objects (articulated bodies) l Strong interactions (suture...)
31 2) Constraints Previous Works l Penalty Methods [Platt Bar88] l Kinematic reduction l Projection [Gascuel92] l Lagrange multipliers [Baraff96,Cotin99,Remion99] l Post-stabilization methods [Ascher94,Faure98,Cline02]
32 2) Constraints Previous Works l Penalty Methods [Platt Bar88] l Kinematic reduction l Projection [Gascuel92] l Lagrange multipliers [Baraff96,Cotin99,Remion99] l Post-stabilization methods [Ascher94,Faure98,Cline02]
33 2) Constraints Simple constraints l What do we call “a simple constraint” ? l Interaction without any other object (or considered as immobile) l Absolute constraint in space l Examples: pendulum, rope moving along a stick,...
34 2) Constraints Simple constraints l Dynamic equations extended by: l One Lagrange multiplier λ per constraint equation l Extended matrix system l Faster resolution using acceleration decomposition:
35 2) Constraints Simple constraints l Constraint must be rewritten as a function of the DOF acceleration: l Baumgarte scheme: => possible violation but no drift l Examples of constraints: l Fixed point, point on a plane, point on an axis l Fixed tangent l Fixed curvature vector l...
36 2) Constraints Simple constraints l Results: 30 points, 6 constraints = 2 ms
37 2) Constraints Sliding constraints l Sliding movement through a hole
38 l General constraint equation: 2) Constraints Sliding constraints l A new class of constraints l Example on a fixed point constraint: Let be mobile, determined by the object dynamic !!
39 2) Constraints Sliding constraints l becomes a new unknown, neither a DOF, nor a lagrange multiplier, a free variable l => requires a new equation Lagrange multipliers formalism gives: Force ensuring the constraint g P(s,t) s(t) Example on a sliding point constraint:
40 2) Constraints Sliding constraints l Acceleration of the resolution: allowing the constraint to work: => direct relation to compute => accelerates the global resolution => controls the dynamic of (« friction-like ») theoretical framework => no friction accelerates the dynamic => inverse friction brakes the dynamic => normal friction P(s,t) s(t)
41 2) Constraints Results l Shoelace: 28 points, discrete energy, 10ms
42 2) Constraints Results l Suture
43 2) Constraints Results l Slipknot... l Sliding point constrained on another point of the curve
44 2) Constraints l Tensor product: extension to 2D and 3D l Two types of constraints: l simple constraints l sliding constraints
45 2) Constraints Constraints among different objects l Link objects of different nature l Rigid bodies, deformable objects... l Example: swing
46 l Global system equations: 2) Constraints Constraints among different objects l How to link several objects involving different physical formalisms ? l Hypothesis: Each object animation can be defined in a matrix form DOF unknowns: (positions, displacements, velocities, accelerations…)
47 2) Constraints Constraints among different objects l Constraint method: Lagrange multipliers l Proposition of a software framework: l Interface: ArticulableObject and Constraint l Articulation: composition of ArticulableObject and set of Constraint l Optimization of the computation: l Articulation solves the system of equations l Updating matrices if required (done by each object)
48 2) Constraints Results 3x10 points, 42 constraints = 3.14 ms 4x8 points + mass spring (25 nodes) + rigid body + 54 constraints = 10.3 ms
49 2) Constraints Contribution summary l Practical set of constraints based on Lagrange multipliers l Extension of the theoretical Lagrange multipliers to handle sliding constraints l Software framework for the simulation of articulations l All results easily extensible to 2D and 3D objects
50 Outlines 1) 1D deformable model 2) Constraints 3) Multi-resolution
51 3) Multi-resolution l Problem: l Bending properties of the model depend on the distribution of the control points l Increases the number of control points => increases the computation and the memory cost
52 3) Multi-resolution l Requirements: l Overcoming the curvature limitation on the spline control (example: knot tightening) l concentration of control points in a small parametric area l Keeping acceptable computation times and reasonable memory costs l Proposal: l Dynamic control of the spline resolution (geometric and mechanical)
53 3) Multi-resolution Previous Works l Mass-spring [Hutchinson et al.96] l FEM multi-resolution [Debunne et al.00] l Lagrange reduction parameters [Nocent et al.01] l Subdivision [Grinspun et al.02]: function refinement l FEM with hierarchical function and non regular grid [Capelle et al.02]
54 l Well known results about geometric subdivision of Non Uniform B-splines l exact insertion algorithm (Oslo) 3) Multi-resolution Local refinement of BSplines NUBS of degree d Knot vectors: insertion l The simplification of BSplines is often an approximation
55 3) Multi-resolution Proposition l Extension of the spline subdivision scheme to the mechanical model => dynamic number of DOF => local modification (due to locality property) l Local adaptation of the resolution l Adaptation criteria based on curvature
56 3) Multi-resolution Proposition l Deformation energies: l discrete energy related to one resolution => needs a re-distribution => inadequate l continuous energy not linked to the resolution but to the shape => adequate
57 3) Multi-resolution Proposition l Continuous stretching energy: data structure l 4D array: l Sparse l Symmetric l Proposition: l Efficient encoding: compression into a 1D array l No redundance, no null values l Access with 4 indirection tables => O(1)
58 3) Multi-resolution Results NUBS, 11 points, continuous stretching Without multi-resolution 2.16ms With automatic insertion 12ms stability with 20 points With automatic insertion and suppression 11ms stability with 18 points
59 3) Multi-resolution Proposition l Interesting side effect: cutting each insertion on the same Bspline knot decreases the continuity => C -1 after enough number of insertions => cutting
60 3) Multi-resolution Contribution summary l Automatic adaptation of the resolution l Knot tightening l Cutting l No extension to 2D or 3D: tensor product not adequate !!
61 Conclusion & Future Works
62 Conclusion & Future Works Contribution summary l Spline-based real-time deformable model: l Set of optimization strategies for real-time l Continuous bending energy l Constraints based on Lagrange multipliers: l Set of practical constraints l Sliding constraints l Software framework for articulation l Multi-resolution: l Dynamic and automatic adaptation of the resolution l Dynamic cutting
63 Conclusion & Future Works l Improving the continuous bending energy l Developing a continuous twisting energy l Exploring other possibilities of the sliding constraints l Accelerating the multi-resolution procedure: Sherman-Morrisson scheme for inverse matrix l Studying other type of geometry in 2D and 3D like subdivision surfaces
64 Thank you !
65 l Matrix form: with l Properties: l Axis independence => 3 independent systems 1) 1D deformable model Dynamic simulation of a spline
66 l Matrix form: with l Properties: l 3 independent systems l Coefficients independent of axis => same matrix 1) 1D deformable model Dynamic simulation of a spline
67 l Matrix form: with l Properties: l 3 independent systems l Same matrix with l Spline locality (oder m) => band matrix of width 2m-1 1) 1D deformable model Dynamic simulation of a spline
68 l Matrix form: with l Properties: l 3 independent systems l Same matrix with l band of width 2m-1 (m=locality order) l Symmetric 1) 1D deformable model Dynamic simulation of a spline
69 l Matrix form: with l Properties: l 3 independent systems l Same matrix with l band of width 2m-1 (m=locality order) l Symmetric l Constant over time => pre-computation (LU) 1) 1D deformable model Dynamic simulation of a spline
70 1) 1D deformable model What about visualization ? l 2 slides: l Modèle 1D => pas de volume (2 videos pour transition) l Epaisseur donnée par la collision (correlation modele collision – modele visu) l Broken Lines l Continuity C 0 l No depth perception
71 1) 1D deformable model Rendering 4/4 l Implicit surfaces l Ponctual model with marching cubes l Convolution model
72 1) 1D deformable model Dynamic simulation of a spline l Right part of Lagrange equation: l Gravity: l Ambient viscosity: l Gathered in a vector (except the ambient viscosity) l System resolution: LU band => O(n) l Numerical integration with
73 1) 1D deformable model Test framework 1D deformable model thickness: l 1D model => no thickness, no volume l => no depth perception l Ajout d’une epaisseur au modele meca => rapport à l’objet reel !!
74 1) 1D deformable model l Surrounding volume l Correlation with collision model => thickness given by the collision spheres radius l Coherency between visual perception and interactive behavior
75 1) 1D deformable model Test framework l Force generated by penalty methods ABF B/A F A/B Collision response Interpenetration area Interpenetration distance
76 Goal (video en haut d’où on en tire les buts pt par pt) on le vire l Interactive 1D deformable model evolving in an environement (=> collision with other objects) l Links between different objects ( collision) l Enough flexibility to tight a knot difficile à faire !! l Citer les source (ou le noter) l Citer que c ’est du réel !!
77 2) Constraints Smooth constraints l Coulomb friction on a sliding point constraint: l adherence vs sliding fixed point vs sliding point l Two states: adherence-sliding If adherence try simulation with a fixed point constraint if force needed to ensure the constraint to high transform the fixed point into a sliding point and re-itere the resolution with introducing a friction forcec
78 l !! « Adequate » à la place de « adapte » l !! « Involving » remplacer par « based on » ou « using »