Docstoc

Vanacken - Haptic Cloth Rendering

Document Sample
Vanacken - Haptic Cloth Rendering Powered By Docstoc
					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             2
                          Meeting
                  Overview

•   Cloth Simulation
•   Integration Techniques
•   Collision Detection
•   Haptic Rendering
•   Haptic Cloth Rendering




21-06-2006       6th Dutch-Belgian Haptics   3
                         Meeting
             Cloth Simulation

• Using Mass Spring Systems
   – Combination of Particles and Springs
   – Several techniques to connect particles




21-06-2006      6th Dutch-Belgian Haptics      4
                        Meeting
                 Overview

•   Cloth Simulation
•   Integration Techniques
•   Collision Detection
•   Haptic Rendering
•   Haptic Cloth Rendering




21-06-2006      6th Dutch-Belgian Haptics   5
                        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,…

21-06-2006           6th Dutch-Belgian Haptics             6
                             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

21-06-2006           6th Dutch-Belgian Haptics   7
                             Meeting
             Integration Techniques


• After IT step: Inverse Dynamics
   – Changing the positions/velocities
   – Stability increases




21-06-2006        6th Dutch-Belgian Haptics   8
                          Meeting
                  Overview

•   Cloth Simulation
•   Integration Techniques
•   Collision Detection
•   Haptic Rendering
•   Haptic Cloth Rendering




21-06-2006       6th Dutch-Belgian Haptics   9
                         Meeting
             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      10
                         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


21-06-2006       6th Dutch-Belgian Haptics   11
                         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


21-06-2006      6th Dutch-Belgian Haptics      12
                        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

21-06-2006      6th Dutch-Belgian Haptics    13
                        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

21-06-2006         6th Dutch-Belgian Haptics             14
                           Meeting
                  Overview

•   Cloth Simulation
•   Integration Techniques
•   Collision Detection
•   Haptic Rendering
•   Haptic Cloth Rendering




21-06-2006       6th Dutch-Belgian Haptics   15
                         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 user
          using a spring

21-06-2006          6th Dutch-Belgian Haptics   16
                            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
21-06-2006             6th Dutch-Belgian Haptics      17
                               Meeting
                 Overview

•   Cloth Simulation
•   Integration Techniques
•   Collision Detection
•   Haptic Rendering
•   Haptic Cloth Rendering




21-06-2006      6th Dutch-Belgian Haptics   18
                        Meeting
               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   19
                        Meeting
                  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   20
                            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

21-06-2006       6th Dutch-Belgian Haptics   21
                         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 is
             completely
             removed!



21-06-2006                 6th Dutch-Belgian Haptics   22
                                   Meeting
              Haptic Cloth
               Rendering

• Optimized Spatial Hashing
   – Removed the first phase
• Evaluation of the CD algorithms




21-06-2006      6th Dutch-Belgian Haptics   23
                        Meeting
                                           Haptic Cloth
                                            Rendering
• Comparison in update time (#updates <> Ms)
                            45

                            40

                            35

                            30
             Milliseconds




                            25

                            20

                            15

                            10

                             5

                             0
                                     162            722             1682        3042         4802
                                                               # Triangles

                            Sphere Quad Tree        Sphere Binary Tree          AABB Quad Tree
21-06-2006                  AABB Binary Tree 6th Dutch-Belgian Haptics
                                                    Optimized Spatial Hashing                       24
                                                          Meeting
                               Haptic Cloth
                                Rendering
• Comparison in Haptic Loop
                0.032
                 0.03
 Milliseconds




                0.028
                0.026
                0.024
                0.022
                 0.02
                         162                 1152                 3042
                                          # Triangles

                        Sphere Binary Tree             AABB Quad Tree
                        Sphere Quad Tree               AABB Binary Tree
21-06-2006              Optimized Spatial Hashing
                                6th Dutch-Belgian Haptics                 25
                                        Meeting
                    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      26
                             Meeting
             Questions?




21-06-2006   6th Dutch-Belgian Haptics   27
                     Meeting

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:10/2/2011
language:English
pages:27