Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University (UHasselt) Introduction Cloth Simulation Haptics Haptic Cloth Rendering • Comparing techniques in both domains: – Integration Techniques – Collision Detection – Haptic Rendering 21-06-2006 6th Dutch-Belgian Haptics Meeting 2 Overview • • • • • Cloth Simulation Integration Techniques Collision Detection Haptic Rendering Haptic Cloth Rendering 21-06-2006 6th Dutch-Belgian Haptics Meeting 3 Cloth Simulation • Using Mass Spring Systems – Combination of Particles and Springs – Several techniques to connect particles 21-06-2006 6th Dutch-Belgian Haptics Meeting 4 Overview • • • • • Cloth Simulation Integration Techniques Collision Detection Haptic Rendering Haptic Cloth Rendering 21-06-2006 6th Dutch-Belgian Haptics Meeting 5 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,… 21-06-2006 6th Dutch-Belgian Haptics Meeting 6 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 21-06-2006 6th Dutch-Belgian Haptics Meeting 7 Integration Techniques • After IT step: Inverse Dynamics – Changing the positions/velocities – Stability increases 21-06-2006 6th Dutch-Belgian Haptics Meeting 8 Overview • • • • • Cloth Simulation Integration Techniques Collision Detection Haptic Rendering Haptic Cloth Rendering 21-06-2006 6th Dutch-Belgian Haptics Meeting 9 Collision Detection • Achieving an interactive cloth (e.g. draping a table) • Two phases – Broad phase: efficiently decreases the number of possibly colliding objects – Narrow phase: detects the areas of an object that possibly collides and checks these areas for collision 21-06-2006 6th Dutch-Belgian Haptics Meeting 10 Collision Detection • Only Object-Object collisions • Main problem – Deformable Object Pre-computed structure becomes invalid • Two popular techniques – Bounding Volume Hierarchies (BVH) – Spatial Subdivision 21-06-2006 6th Dutch-Belgian Haptics Meeting 11 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 21-06-2006 6th Dutch-Belgian Haptics Meeting 12 Bounding Volume Hierachies • Arity is important! – # nodes to update – # recursion depth • Collision testing is performed topdown • Repairing the BVH – Top-down, Bottom-up or Hybrid – Brown et al. combine Bottom-up with a priority queue sorted on depth 21-06-2006 6th Dutch-Belgian Haptics Meeting 13 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 21-06-2006 6th Dutch-Belgian Haptics Meeting 14 Overview • • • • • Cloth Simulation Integration Techniques Collision Detection Haptic Rendering Haptic Cloth Rendering 21-06-2006 6th Dutch-Belgian Haptics Meeting 15 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 user using a spring 21-06-2006 6th Dutch-Belgian Haptics Meeting 16 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 21-06-2006 6th Dutch-Belgian Haptics Meeting 17 Overview • • • • • Cloth Simulation Integration Techniques Collision Detection Haptic Rendering Haptic Cloth Rendering 21-06-2006 6th Dutch-Belgian Haptics Meeting 18 Haptic Cloth Rendering • Choose appropriate techniques • Cloth Simulation – Some forces: Gravity, Viscous drag – Rectangular surface – Cloth’s mass – Smooth Shading – Texturing 21-06-2006 6th Dutch-Belgian Haptics Meeting 19 Haptic Cloth Rendering • Integration: – Empirically • Taxonomy M. Hauth • Comparison of Implemented ITs – Mathematically • Second most stable/accurate Leapfrog Verlet 21-06-2006 6th Dutch-Belgian Haptics Meeting 20 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 21-06-2006 6th Dutch-Belgian Haptics Meeting 21 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. • • • • 21-06-2006 Priority queue is sorted on IDs Last added parent is saved Use array (see Table) Recursion is completely removed! 6th Dutch-Belgian Haptics Meeting 22 Haptic Cloth Rendering • Optimized Spatial Hashing – Removed the first phase • Evaluation of the CD algorithms 21-06-2006 6th Dutch-Belgian Haptics Meeting 23 Haptic Cloth Rendering • Comparison in update time (#updates <> Ms) 45 40 35 Milliseconds 30 25 20 15 10 5 0 162 722 1682 3042 4802 # Triangles 21-06-2006 Sphere Quad Tree Sphere Binary Tree 6th Dutch-Belgian Haptics AABB Binary Tree Optimized Spatial Hashing Meeting AABB Quad Tree 24 Haptic Cloth Rendering • Comparison in Haptic Loop Milliseconds 0.032 0.03 0.028 0.026 0.024 0.022 0.02 162 1152 3042 # Triangles 21-06-2006 Sphere Binary Tree AABB Quad Tree Sphere Quad Tree AABB Binary Tree Optimized Spatial HashingHaptics 6th Dutch-Belgian Meeting 25 Conclusion • Who Won? – In our situation 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 21-06-2006 6th Dutch-Belgian Haptics Meeting 26 Questions? 21-06-2006 6th Dutch-Belgian Haptics Meeting 27
© Copyright 2026 Paperzz