Notes Discrete Mean Curvature � Please read � [draw triangle pair] � � ~ � � for that chunk varies as h 1 + h 2 • O'Brien and Hodgins, "Graphical modeling � So integral of � 2 varies as � 2 and animation of brittle fracture", SIGGRAPH � ( ) W = 2 � 1 + � 2 ( ) '99 h 1 + h 2 e � 2 e • O'Brien, Bargteil and Hodgins, "Graphical 2 � ~ modeling and animation of ductile fracture", � 1 + � 2 e SIGGRAPH '02, pp. 291--294. � Edge length, triangle areas, normals are all easy to calculate � � needs inverse trig functions � But � 2 behaves a lot like 1-cos( � /2) over interval [- � , � ] [draw picture] cs533d-winter-2005 1 cs533d-winter-2005 2 Bending Force Gradient of Theta � Force on x i due to bending element involving i is � Can use implicit differentiation on then cos(theta)=n 1 •n 2 2 F i = � B � W e � � � sin � � �� • Not too much fun ~ � B � x i 2 � x i � 1 + � 2 � � • Automatic differentiation: Grinspun et al. “Discrete Shells, SCAN’03 � Treat first terms as a constant (precompute in • Modal analysis: Bridson et al., “Simulation of the rest configuration) clothing…”, SCA’03 sin � 1 ( ) 2 = ± 2 1 � n 1 � n 2 sin � = n 1 � n 2 � ˆ � Sign should be the same as e � Still need to compute � � / � x i cs533d-winter-2005 3 cs533d-winter-2005 4 Damping hyper-elasticity Hacking in strain limits � Especially useful for cloth: � Suppose W is of the form C• C / 2 • C is a vector or function that is zero at undeformed • Biphasic nature: won’t easily extend past a state certain point � Then F = - � C/ � X • C � Sweep through elements (e.g. springs) • C says how much force, � C/ � X gives the direction • If strain is beyond given limit, apply force to return it to closest limit � Damping should be in the same direction, and • Also damp out strain rate to zero proportional to � C/ � t: F = - � C/ � X • � C/ � t � No stability limit for fairly stiff behaviour � Can simplify with chain rule: � See X. Provot, “Deformation constraints in a F = - � C/ � X • ( � C/ � X v) mass-spring model to describe rigid cloth • Linear in v, but not in x… behavior”, Graphics Interface '95 cs533d-winter-2005 5 cs533d-winter-2005 6
Elastic Collisions Simplest approach � Treat it just as a particle system: • Check if (surface) particles hit objects • Process collisions independently if so � Inelastic collisions (and simplified resolution algorithm) are perfectly appropriate • Elasticity/damping inside object itself provides the rebound… � Problems: • Coupling with uncollided particles? • Thin objects (like cloth or hair)? • Deformable vs. deformable? cs533d-winter-2005 7 cs533d-winter-2005 8 Coupling with rest of object Thin objects � Velocity smoothing: � Collision detection is essential • Figure out collision velocity, call it v n+1/2 • Otherwise particles will jump through objects x n+1 =x n + � t v n+1/2 • Then do an implicit velocity update: � But not enough v n+1 =v n+1/2 + � t/2 a(x n+1 ,v n+1 ) • Triangle mesh vs. mesh requires • See Bridson et al., “Robust treatment of collisions…”, point vs. face AND edge vs. edge SIGGRAPH ‘02 • Otherwise we can have significant tangling � Stronger velocity smoothing • Constrain normal velocity of colliding nodes • See Irving et al., “Invertible finite elements…”, SCA ‘04 � Couple into full implicit solve (position as well) • See Baraff & Witkin, “Large steps in cloth simulation”, SIGGRAPH ‘98 cs533d-winter-2005 9 cs533d-winter-2005 10 Distributing impulses Scalable collision processing � Cloth: fixing one collision can cause others � If an edge collides, how do we distribute • Easy to find situations where 1000+ iterations impulse between two endpoints? required � If a triangle collides, how do we distribute � Rigid impact zones: X. Provot, “Collision and impulse between three corners? self-collision handling in cloth model dedicated � Weight with barycentric coordinates to design garment” Graphics Interface 1997 • And Bridson Ph.D. thesis 2003 • And require that interpolated point change in � When two regions collide, merge region and velocity is what is required project velocities onto rigid or affine motions � See Bridson et al., “Robust treatment…”, � Efficiently resolves everything (but overdamped) SIGGRAPH ‘02 � Use as the last resort cs533d-winter-2005 11 cs533d-winter-2005 12
Additional repulsions Plasticity & Fracture � Avoid alligator teeth problem - triangle locking - with three steps: • Apply soft repulsion forces (at level comparable to geometry approximation) • Detect collisions, apply impulses • Rigid impact zones cs533d-winter-2005 13 cs533d-winter-2005 14 Plasticity & Fracture For springs (1D) � If material deforms too much, becomes � Go back to Terzopoulos and Fleischer permanently deformed: plasticity � Plasticity: change the rest length if the stress • Yield condition: when permanent deformation starts (tension) is too high happening (“if stress is large enough”) • Maybe different yielding for compression and tension • Elastic strain: deformation that can disappear in the • Work hardening: make the yield condition more absence of applied force stringent as material plastically flows • Plastic strain: permanent deformation accumulated • Creep: let rest length settle towards current length at since initial state a given rate • Total strain: total deformation since initial state � Fracture: break the spring if the stress is too • Plastic flow: when yield condition is met, how elastic high strain is converted into plastic strain • Without plasticity: “brittle” � Fracture: if material deforms too much, breaks • With plasticity first: “ductile” • Fracture condition: “if stress is large enough” cs533d-winter-2005 15 cs533d-winter-2005 16
Recommend
More recommend