A collision detection algorithm for NURBS(non uniform rational B-spline)surface is proposed. The technique of inserting node in reverse is used in NURBS surface subdivision
and a method for the accurate collision detection using distance testing between control points is presented. In the algorithm
firstly
the top control points that have clear geometric meaning are inserted
then the inserted nodes are calculated in reverse
and the insert technique is used to divide the curved surfaces finely; secondly
through building FDH(fixed direction hull)for the control points of curved surfaces that are finely divided by degrees
the part that is impossible to join in collision can be excluded early; finally
the distance testing is carried out if the subdivision level reaches a certain threshold. Through the collision detection between a butterfly and corn leaves in the virtual environment
it is verified that this algorithm can be used for collision detection between objects defined by NURBS surfaces. When the subdivision level is 5 and the threshold is 0.000 6
the collision detection in this experiment is real-time with good accuracy.
Liu Xiaodong, Luo Yixian, Guo Xinyu, et al. The modeling of maize leaf during the growing process based on NURBS [J]. Computer Engineering and Applications, 2004, 40(14):201-203.
Page F, Guibault F. Collision detection algorithm for NURBS surfaces in interactive applications [C]∥Canadian Conference on Electrical and Computer Engineering. Piscataway, USA: IEEE, 2003:1417-1420.
Wei Yingmei, Wang Yong, Wu Quanyuan, et al. Research on fixed direction hull bounding volume in collision detection [J]. Journal of Software, 2001, 12(7):1056-1063.