270 likes | 430 Views
Haptic Cloth Rendering. 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University (UHasselt). Introduction. Comparing techniques in both domains: Integration Techniques Collision Detection Haptic Rendering.
E N D
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University (UHasselt)
Introduction • Comparing techniques in both domains: • Integration Techniques • Collision Detection • Haptic Rendering Cloth Simulation Haptics Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting
Overview • Cloth Simulation • Integration Techniques • Collision Detection • Haptic Rendering • Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting
Cloth Simulation • Using Mass Spring Systems • Combination of Particles and Springs • Several techniques to connect particles 6th Dutch-Belgian Haptics Meeting
Overview • Cloth Simulation • Integration Techniques • Collision Detection • Haptic Rendering • Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting
Integration Techniques • Moving the Cloth? • Movement through Newton’s dynamics • Position/Velocity of the particles need to be updated • Represented as Initial Value Problem • IVP can be solved using a first order Ordinary Differential Equation (ODE) • Several numerical methods exist • Explicit, Implicit, IMEX, Verlet Integration,… 6th Dutch-Belgian Haptics Meeting
Integration Techniques • Verlet Integration • Popular in Molecular Dynamics • Basic Verlet Scheme • High accuracy: O(h4) with only one force evaluation • No explicit Velocity computation • Two other schemes • Velocity • Leapfrog 6th Dutch-Belgian Haptics Meeting
Integration Techniques • After IT step: Inverse Dynamics • Changing the positions/velocities • Stability increases 6th Dutch-Belgian Haptics Meeting
Overview • Cloth Simulation • Integration Techniques • Collision Detection • Haptic Rendering • Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting
Collision Detection • Achieving an interactive cloth (e.g. draping a table) • Two phases • Broadphase: efficiently decreases the number of possibly colliding objects • Narrowphase: detects the areas of an object that possibly collides and checks these areas for collision 6th Dutch-Belgian Haptics Meeting
Collision Detection • Only Object-Object collisions • Main problem • Deformable Object Pre-computed structure becomes invalid • Two popular techniques • Bounding Volume Hierarchies (BVH) • Spatial Subdivision 6th Dutch-Belgian Haptics Meeting
Bounding Volume Hierachies • BVH is a tree structure • Primitives are recursively subdivided • Pre-computed but here also rebuild/repair • Bounding Volumes • Sphere, AABB, OBB,… • Good Enclosing + Fast Intersection test 6th Dutch-Belgian Haptics Meeting
Bounding Volume Hierachies • Arity is important! • # nodes to update • # recursion depth • Collision testing is performed top-down • Repairing the BVH • Top-down, Bottom-up or Hybrid • Brown et al. combine Bottom-up with a priority queue sorted on depth 6th Dutch-Belgian Haptics Meeting
Spatial Subdivision • Divide the objects in space • Subdivision of the Complete Space • Each object has its own subdivision • Optimized Spatial Hashing (OSH) • Divide the space implicitly into small grid cells • Hash function: 3D grid cells 1D hash table • No 3D Structure! • Infinite Regular Spatial Grids • Two phases 6th Dutch-Belgian Haptics Meeting
Overview • Cloth Simulation • Integration Techniques • Collision Detection • Haptic Rendering • Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting
Haptic Rendering • Two popular Rigid Body techniques • Penalty Based Methods • Uses penetration depth • Pop-Through/Multiple Objects • Constraint Based Methods • Solution to above problems • Representative object attached to the userusing a spring 6th Dutch-Belgian Haptics Meeting
Haptic Rendering • High cost of dynamic simulation Adapt HR algorithm • Intermediate model [Mark et al.] • Plane updated at simulation speed • Local model [Mendoza et al.] • Treat part of object as rigid body in the haptic loop • Forcegrid [Mazella et al.] • Uniform grid that functions as a buffer structure 6th Dutch-Belgian Haptics Meeting
Overview • Cloth Simulation • Integration Techniques • Collision Detection • Haptic Rendering • Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting
Haptic Cloth Rendering • Choose appropriate techniques • Cloth Simulation • Some forces: Gravity, Viscous drag • Rectangular surface • Cloth’s mass • Smooth Shading • Texturing 6th Dutch-Belgian Haptics Meeting
Leapfrog Verlet Haptic Cloth Rendering • Integration: • Empirically • Taxonomy M. Hauth • Comparison of Implemented ITs • Mathematically • Second most stable/accurate 6th Dutch-Belgian Haptics Meeting
Haptic Cloth Rendering • Haptic Rendering • Realized using HAL • Constraint Based Methods [Ruspini et al.] • Force Shading [Morgenbesser et al.] • Cloth simulator integrated as a separate library • Implemented and compared the other Collision Detection Techniques 6th Dutch-Belgian Haptics Meeting
Haptic Cloth Rendering • Sphere and AABB Bounding Volume Hierarchies with possible arity of 2 or 4 • Modification of the repair algorithm of Brown et al. • Priority queue is sorted on IDs • Last added parent is saved • Use array (see Table) • Recursion iscompletely removed! 6th Dutch-Belgian Haptics Meeting
Haptic Cloth Rendering • Optimized Spatial Hashing • Removed the first phase • Evaluation of the CD algorithms 6th Dutch-Belgian Haptics Meeting
Haptic Cloth Rendering • Comparison in update time (#updates <> Ms) 6th Dutch-Belgian Haptics Meeting
Haptic Cloth Rendering • Comparison in Haptic Loop 6th Dutch-Belgian Haptics Meeting
Conclusion • Who Won? • In oursituation a sphere BVH with arity 4 is the best CD algorithm. • Still a few problems • Force discontinuities arise • Solutions: • Interpolate between two cloth representations • Integrate locally at haptic update rate 6th Dutch-Belgian Haptics Meeting
Questions? 6th Dutch-Belgian Haptics Meeting