Abstract
Detecting self-collision for cables and similar objects is an important part of numerous models in computational biology (protein chains), robotics (electric cables), hair modeling, computer graphics, etc. In this paper the 1D sweep-and-prune algorithm for detecting self-collisions of a deforming cable comprising linear segments is investigated. The sweep-and-prune algorithm is compared with other state-of-the-art self-collision detection algorithms for deforming cables and is shown to be up to an order of magnitude faster than existing algorithms for cables with a high proportion of segments moving. We also present a multi-threaded version of the algorithm and investigate its performance. In addition, we present worst-case bounds for 1D sweep-and-prune algorithms whereby the colliding objects do not exceed a certain object density, and apply these results to deforming cables.
Similar content being viewed by others
Notes
For the cables considered here one has a circular cross section C(s) with a fixed radius, but this is necessary neither for the SaP algorithm nor for the worst case analysis presented in the next section.
To see why this is true, choose a common point in the projection of the overlapping segments and then the line through that point perpendicular to the projection direction intersects each of the overlapping segments.
References
Agarwal, P., Guibas, L.J., Nguyen, A., Russel, D., Zhang, L.: Collision detection for deforming necklaces. Comput. Geom. Theory Appl. 28, 137–163 (2004)
Baraff, D.: Dynamic simulation of non-penetrating rigid bodies. Ph.D. thesis, Cornell University (1992)
Barbič, J., James, D.L.: Subspace self-collision culling. ACM Trans. Graph. 29, 81:1–81:9 (2010)
Bean, K., Bereg, S.: Analysis of layered hierarchies for necklaces. In: Proceedings of the Japan Conference on Discrete and Computational Geometry, pp. 87–88 (2004)
Brown, J., Latombe, J.-C., Montgomery, K.: Real-time knot tying simulation. Vis. Comput. 20, 165–179 (2004)
Cani, M.-P., Bertails, F.: Hair interactions. In: Eurographics Tutorial “Collision Handling and Its Applications” (2006)
Craig, J.J.: Introduction to Robotics: Mechanics and Control, 2nd edn. Addison-Wesley, Reading (1989)
Curtis, S., Tamstorf, R., Manocha, D.: Fast collision detection for deformable models using representative-triangles. In: Symp. on Interactive 3D Graphics, pp. 61–69 (2008)
Eppstein, D., Goodrich, M.T., Trott, L.: Going off-road: transversal complexity in road networks. In: Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pp. 23–32 (2009)
Ericson, C.: Real Time Collision Detection. Morgan Kaufmann, San Mateo (2004)
Govindaraju, N.K., Knott, D., Jain, N., Kabul, I., Tamstorf, R., Gayle, R., Lin, M.C., Manocha, D.: Interactive collision detection between deformable models using chromatic decomposition. ACM Trans. Graph. 24, 991–999 (2005)
Halperin, D., Latombe, J.C., Motwani, R.: Dynamic maintenance of kinematic structures. In: Laumond, J.-P., Overmars, M. (eds.) Algorithms for Robot Motion and Manipulation (WAFR 1996), pp. 155–170. Peters, Wellesley (1997)
Halperin, D., Overmars, M.H.: Spheres, molecules and hidden surface removal. Comput. Geom. Theory Appl. 11, 83–102 (1998)
Ketchel, J.S., Larochelle, P.M.: Collision detection of cylindrical rigid bodies using line geometry. In: Proceedings of the 2005 IDETC/CIE, pp. 1–15 (2005)
Kubiak, B., Pietroni, N., Ganovelli, F., Fratarcangeli, M.: A robust method for real-time thread simulation. In: Proceedings of the 2007 ACM Symposium on Virtual Reality Software and Technology, pp. 85–88 (2007)
Lang, H., Linn, J., Arnold, M.: Multibody dynamics simulation of geometrically exact cosserat rods. In: Multibody Dynamics 2009 ECCOMAS Thematic Conference, vol. 3, pp. 285–312 (2009)
Lin, M.C., Manocha, D.: Collision and proximity queries. In: Handbook of Discrete and Computational Geometry: Collision Detection (2003)
Liu, F., Harada, T., Lee, Y., Kim, Y.J.: Real-time collision culling of a million bodies on graphics processing units. ACM Trans. Graph. 29, 154:1–154:8 (2010)
Lotan, I.: Efficient Monte-Carlo simulation of proteins. http://robotics.stanford.edu/~itayl/mcs/. Accessed December 2011
Lotan, I., Schwarzer, F., Halperin, D., Latombe, J.-C.: Efficient maintenance and self-collision testing for kinematic chains. In: Proceedings of the Eighteenth Annual Symposium on Computational Geometry, pp. 43–52 (2002)
Lotan, I., Schwarzer, F., Latombe, J.-C.: Efficient energy computation for Monte Carlo simulation. In: Proceedings of 3rd Workshop on Algorithms in Bioinformatics (2003)
Madera, F.A., Day, A.M., Laycock, S.D.: Detecting self-collisions using a hybrid bounding volume algorithm. In: Third International Conference on Advances in Computer–Human Interactions, pp. 107–112 (2010)
Otaduy, M., Germann, A., Redon, D., Gross, M.: Adaptive deformations with fast tight bounds. In: Symp. on Computer Animation (SCA), pp. 181–190 (2007)
Raghupathi, L., Cantin, V., Faure, F., Cani, M.-P.: Real-time simulation of self-collisions for virtual intestinal surgery. In: Proc. of IS4TM’03, pp. 15–26 (2003)
Schmidl, H., Walker, N., Lin, M.C.: CAB: fast update of OBB trees for collision detection between articulated bodies. J. Graph. GPU Game Tools 9, 1–9 (2004)
Selle, A., Lentine, M., Fedkiw, R.: A mass spring model for hair simulation. ACM Trans. Graph. 27, 1–11 (2008)
Sobottka, G., Varnik, E., Weber, A.: Collision detection in densely packed fiber assemblies with application to hair modeling. In: The 2005 International Conference on Imaging Science, Systems, and Technology: Computer Graphics, pp. 244–250 (2005)
Spillmann, J., Teschner, M.: An adaptive contact model for the robust simulation of knots. Comput. Graph. Forum 27, 497–506 (2008)
Tang, M., Curtis, S., Yoon, S.-E., Manocha, D.: ICCD: interactive continuous collision detection between deformable models using connectivity-based culling. IEEE Trans. Vis. Comput. Graph. 15, 544–557 (2009)
Teschner, M., Kimmerle, S., Heidelberger, B., Zachmann, G., Raghupathi, L., Fuhrmann, A., Cani, M.-P., Faure, F., Magnenat-thalmann, N., Strasser, W., Volino, P.: Collision detection for deformable objects. Comput. Graph. Forum 19, 61–81 (2005)
Acknowledgements
The author is greatly indebted to the suggestions and comments provided by a number of anonymous referees. This work was supported by the Swedish Governmental Agency for Innovation Systems, VINNOVA through the FFI Sustainable Production Technology Program, the Wingquist Laboratory VINN Excellence Center and is part of the Sustainable Production Initiative and the Production Area of Advance at Chalmers University of Technology. The author is also greatly indebted to Tomas Hermansson for his many valuable discussions, the help with programming, for providing the code for the sphere BVH and also for helping teach the author how to use the IPS software.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Shellshear, E. 1D sweep-and-prune self-collision detection for deforming cables. Vis Comput 30, 553–564 (2014). https://doi.org/10.1007/s00371-013-0880-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-013-0880-7