Efficient algorithm to detect collision between deformable B-spline surfaces for virtual sculpting
A structured computational framework to efficiently detect collision between deformable freeform shapes in a VR environment is proposed in this paper. The deformable shape is represented as a B-spline surface and no assumption is made with regard to the degree of the surface, extent of deformation or virtual material properties. The proposed technique calculates and stores transformation matrices and their inverse during preprocessing, which are then used to discretize the B-spline surfaces. It exploits the fact that the transformation matrices for calculating discrete points on the B-spline are independent of the position of control points and therefore can be pre-calculated. The intensity of the points is dynamically increased at lower levels of detail as per accuracy requirements, and finally the regions which are likely to undergo collision are tessellated using these points. Spheres are used to determine lower levels of detail which makes this algorithm highly suitable for multiple contact collision detection. The algorithm efficiently calculates tangents and surface normals at these points. The surface normals give inside/outside property to the triangulated region and tangents provide the necessary information to model tangential forces such as frictional forces. The proposed algorithm is especially suitable for sculpting during concept design and its validation before exchanging information with existing CAD softwares for detailed design. A comparison based on the worst case scenario is presented to prove the efficiency of the present algorithm.
b-spline surface virtual sculpting collision detection concept design haptics deformable objects virtual reality