This Article 
 Bibliographic References 
 Add to: 
GPU-Accelerated Minimum Distance and Clearance Queries
June 2011 (vol. 17 no. 6)
pp. 729-742
Adarsh Krishnamurthy, University of California Berkeley, Berkeley
Sara McMains, University of California Berkeley, Berkeley
Kirk Haller, SolidWorks Corporation, Concord
We present practical algorithms for accelerating distance queries on models made of trimmed NURBS surfaces using programmable Graphics Processing Units (GPUs). We provide a generalized framework for using GPUs as coprocessors in accelerating CAD operations. By supplementing surface data with a surface bounding-box hierarchy on the GPU, we answer distance queries such as finding the closest point on a curved NURBS surface given any point in space and evaluating the clearance between two solid models constructed using multiple NURBS surfaces. We simultaneously output the parameter values corresponding to the solution of these queries along with the model space values. Though our algorithms make use of the programmable fragment processor, the accuracy is based on the model space precision, unlike earlier graphics algorithms that were based only on image space precision. In addition, we provide theoretical bounds for both the computed minimum distance values as well as the location of the closest point. Our algorithms are at least an order of magnitude faster and about two orders of magnitude more accurate than the commercial solid modeling kernel ACIS.

[1] Spatial Corporation, ACIS Geometric Modeler: User Guide, version 20.0, 2009.
[2] A. Krishnamurthy, S. McMains, and K. Haller, "Accelerating Geometric Queries Using the GPU," Proc. SIAM/ACM Joint Conf. Geometric and Physical Modeling, pp. 199-210, 2009.
[3] T.G. Mattson, B.A. Sanders, and B.L. Massingill, Patterns for Parallel Programming. Addison-Wesley, 2004.
[4] S. Sengupta, M. Harris, Y. Zhang, and J.D. Owens, "Scan Primitives for GPU Computing," Proc. Symp. Graphics Hardware, pp. 97-106, 2007.
[5] Vector Models for Data-Parallel Computing, G.E. Blelloch, ed., MIT Press, 1990.
[6] A. Krishnamurthy, R. Khardekar, S. McMains, K. Haller, and G. Elber, "Performing Efficient NURBS Modeling Operations on the GPU," IEEE Trans. Visualization and Computer Graphics, vol. 15, no. 4, pp. 530-543, July-Aug. 2009.
[7] E.G. Gilbert, D.W. Johnson, and S.S. Keerthi, "A Fast Procedure for Computing the Distance between Complex Objects in Three-Dimensional Space," IEEE J. Robotics and Automation, vol. 4, no. 2, pp. 193-203, Apr. 1988.
[8] W.D. Henshaw, "An Algorithm for Projecting Points onto a Patched CAD Model," Eng. with Computers, vol. 18, no. 3, pp. 265-273, 2002.
[9] D. Johnson and E. Cohen, "A Framework for Efficient Minimum Distance Computations," IEEE Int'l Conf. Robotics and Automation, vol. 4, pp. 3678-3684, 1998.
[10] D.D. Nelson, D.E. Johnson, and E. Cohen, "Haptic Rendering of Surface-to-Surface Sculpted Model Interaction," Proc. ACM SIGGRAPH Courses, Course: Recent advances in haptic rendering and applications, 2005.
[11] H. Edelsbrunner, "Computing the Extreme Distances between Two Convex Polygons," J. Algorithms, vol. 6, no. 2 pp. 213-224, 1985.
[12] S. Quinlan, "Efficient Distance Computation between Non-Convex Objects," Proc. IEEE Int'l Conf. Robotics and Automation, pp. 3324-3329, 1994.
[13] X.-D. Chen, J.-H. Yong, G. Wang, J.-C. Paul, and G. Xu, "Computing the Minimum Distance between a Point and a NURBS Curve," Computer-Aided Design, vol. 40, nos. 10/11 pp. 1051-1054, 2008.
[14] S. Gottschalk, M.C. Lin, and D. Manocha, "OBBTree: A Hierarchical Structure for Rapid Interference Detection," Proc. ACM SIGGRAPH, pp. 171-180, 1996.
[15] E. Larsen, S. Gottschalk, M. Lin, and D. Manocha, "Fast Distance Queries with Rectangular Swept Sphere Volumes," Proc. IEEE Int'l Conf. Robotics and Automation (ICRA '00), vol. 4, pp. 3719-3726, 2000.
[16] N.K. Govindaraju, S. Redon, M.C. Lin, and D. Manocha, "CULLIDE: Interactive Collision Detection between Complex Models in Large Environments Using Graphics Hardware," Proc. ACM SIGGRAPH/EUROGRAPHICS Conf. Graphics Hardware, pp. 25-32, 2003.
[17] A. Greß, M. Guthe, and R. Klein, "GPU-Based Collision Detection for Deformable Parameterized Surfaces," Computer Graphics Forum, vol. 25, no. 3, pp. 497-506, 2006.
[18] A. Sud, M.A. Otaduy, and D. Manocha, "DiFi: Fast 3D Distance Field Computation Using Graphics Hardware," Computer Graphics Forum, vol. 23, no. 10, pp. 557-566, 2004.
[19] C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, and D. Manocha, "Fast BVH Construction on GPUs," Proc. Eurographics, 2009.
[20] P. Agarwal, S. Krishnan, N. Mustafa, and S. Venkatasubramanian, "Streaming Geometric Optimization Using Graphics Hardware," Proc. 11th European Symp. Algorithms, 2003.
[21] K.E. Hoff, A. Zaferakis, M. Lin, and D. Manocha, "Fast and Simple 2D Geometric Proximity Queries Using Graphics Hardware," Proc. Symp. Interactive 3D Graphics (I3D '01), pp. 145-148, 2001.
[22] S. Briseid, T. Dokken, T.R. Hagen, and J.O. Nygaard, "Spline Surface Intersections Optimized for GPUs," Proc. Int'l Conf. Computational Science, pp. 204-211, 2006.
[23] T. Dokken, V. Skytt, T.R. Hagen, and J.O. Nygaard, Apparatus and Method for Determining Intersections, US Patent 20,080,259,078, 2005.
[24] S. Krishnan, M. Gopi, M. Lin, D. Manocha, and A. Pattekar, "Rapid and Accurate Contact Determination between Spline Models Using Shelltrees," Computer Graphics Forum, vol. 17, no. 3, pp. 315-326, 1998.
[25] C. Lauterbach, Q. Mo, and D. Manocha, "gProximity: Hierarchical GPU-Based Operations for Collision and Distance Queries," Computer Graphics Forum, vol. 29, no. 2, pp. 419-428, 2010.
[26] A. Krishnamurthy, R. Khardekar, and S. McMains, "Direct Evaluation of NURBS Curves and Surfaces on the GPU," Proc. ACM Symp. Solid and Physical Modeling, pp. 329-334, 2007.
[27] A. Krishnamurthy, R. Khardekar, and S. McMains, "Optimized GPU Evaluation of Arbitrary Degree NURBS Curves and Surfaces," Computer-Aided Design, vol. 41, no. 12, pp. 971-980, 2009.
[28] D. Filip, R. Magedson, and R. Markot, "Surface Algorithms Using Bounds on Derivatives," Computer Aided Geometric Design, vol. 3, no. 4, pp. 295-311, 1987.
[29] J. Corney and T. Lim, 3D Modeling with ACIS. Saxe-Coburg, 2001.
[30] 3D Content Central, "http:/," 2009.

Index Terms:
Minimum distance, closest point, clearance analysis, NURBS, GPU, hybrid CPU/GPU algorithms.
Adarsh Krishnamurthy, Sara McMains, Kirk Haller, "GPU-Accelerated Minimum Distance and Clearance Queries," IEEE Transactions on Visualization and Computer Graphics, vol. 17, no. 6, pp. 729-742, June 2011, doi:10.1109/TVCG.2010.114
Usage of this product signifies your acceptance of the Terms of Use.