This Article 
 Bibliographic References 
 Add to: 
The Ball-Pivoting Algorithm for Surface Reconstruction
October-December 1999 (vol. 5 no. 4)
pp. 349-359

Abstract—The Ball-Pivoting Algorithm (BPA) computes a triangle mesh interpolating a given point cloud. Typically, the points are surface samples acquired with multiple range scans of an object. The principle of the BPA is very simple: Three points form a triangle if a ball of a user-specified radius $\rho$ touches them without containing any other point. Starting with a seed triangle, the ball pivots around an edge (i.e., it revolves around the edge while keeping in contact with the edge's endpoints) until it touches another point, forming another triangle. The process continues until all reachable edges have been tried, and then starts from another seed triangle, until all points have been considered. The process can then be repeated with a ball of larger radius to handle uneven sampling densities. We applied the BPA to datasets of millions of points representing actual scans of complex 3D objects. The relatively small amount of memory required by the BPA, its time efficiency, and the quality of the results obtained compare favorably with existing techniques.

[1] K. Pulli, T. Duchamp, H. Hoppe, J. McDonald, L. Shapiro, and W. Stuetzle, “Robust Meshes from Multiple Range Maps,” Intl. Conf. Recent Advances in 3D Digital Imaging and Modeling, pp. 205-211, IEEE CS Press, May 1997.
[2] H. Edelsbrunner and D.P. Mücke, “Three-Dimensional Alpha Shapes,” ACM Trans, Graphics, vol. 13, pp. 43-72, 1994.
[3] J. Abouaf, "The Florentine Pietà: Can Visualization Solve the 450-Year-Old Mystery?," IEEE Computer Graphics and Applications, vol. 19, no. 1, Jan./Feb. 1999, pp. 6-10.
[4] F. Bernardini, C. Bajaj, J. Chen, and D. Schikore, “Automatic Reconstruction of 3D CAD Models from Digital Scans,” Int'l J. Computational Geometry and Applications, vol. 9,nos. 4&5, pp. 327-370, Aug.-Oct. 1999.
[5] R. Mencl and H. Müller, “Interpolation and Approximation of Surfaces from Three-Dimensional Scattered Data Points,” Proc. Eurographics '98, Eurographics, State of the Art Reports, 1998.
[6] B. Curless and M. Levoy, “A Volumetric Method for Building Complex Models from Range Images,” Proc. SIGGRAPH '96, pp. 303-312, 1996.
[7] W.E. Lorensen and H.E. Cline, “Marching Cubes: A High Resolution 3D Surface Construction Algorithm,” Computer Graphics (SIGGRAPH '87 Proc.), vol. 21, pp. 163-169, 1987.
[8] M. Soucy and D. Laurendeau, "A General Surface Approach to the Integration of a Set of Range Views," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 17, no. 4, pp. 344-358, Apr. 1995.
[9] G. Turk and M. Levoy, “Zippered Polygon Meshes from Range Images,” Proc. SIGGRAPH '94, pp. 311-318, 1994.
[10] C. Dorai, G. Wang, A.K. Jain, and C. Mercer, “Registration and Integration of Multiple Object Views for 3D Model Construction,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 20, no. 1, pp. 83-89, Jan. 1998.
[11] C.L. Bajaj, F. Bernardini, and G. Xu, “Automatic Reconstruction of Surfaces and Scalar Fields from 3D Scans,” Proc. SIGGRAPH '95, pp. 109-118, Aug. 1995.
[12] N. Amenta, M. Bern, and M. Kamvysselis, “A New Voronoi-Based Surface Reconstruction Algorithm,” Proc. SIGGRAPH '98, pp. 415-421, 1998.
[13] J.-D. Boissonnat, “Geometric Structues for Three-Dimensional Shape Representation,” ACM Trans. Graphics, vol. 3, no. 4, pp. 266-286, Oct. 1984.
[14] R. Mencl, “A Graph-Based Approach to Surface Reconstruction,” Proc. EUROGRAPHICS '95, Computer Graphics Forum, vol. 14, no. 3, pp. 445-456, 1995.
[15] A. Hilton et al., "Marching Triangles: Range Image Fusion for Complex Object Modelling," Proc. Int'l Conf. Image Processing, IEEE Computer Soc. Press, Los Alamitos, Calif., 1996.
[16] F. Bernardini and C. Bajaj, “Sampling and Reconstructing Manifolds Using Alpha-Shapes,” Proc. Ninth Canadian Conf. Computational Geometry, pp. 193-198, Aug. 1997. Updated online version available atwww.qucis.queensu.cacccg97.
[17] N. Amenta and M. Bern, “Surface Reconstruction by Voronoi Filtering,” Proc. 14th Ann. ACM Symp. Computer Geometry, pp. 39-48, 1998.
[18] H. Edelsbrunner, “Weighted Alpha Shapes,” Technical Report UIUCDCS-R-92-1,760, Computer Science Dept., Univ. Illinois, Urbana, IL, 1992.
[19] G. Taubin, "A Signal Processing Approach to Fair Surface Design," Computer Graphics Proc., Ann. Conf. Series, ACM Siggraph, ACM Press, New York, 1995, pp.351-358.
[20] Y. Chiang, C.T. Silva, and W.J. Schroeder, “Interactive Out-of-Core Isosurface Extraction,” Proc. Visualization 1998, pp. 167-174, Oct. 1998.
[21] H. Rushmeier and F. Bernardini, "Computing Consistent Normals and Colors from Photometric Data," Proc. 2nd Int'l Conf. 3D Digital Imaging and Modeling, IEEE Press, Piscataway, N.J., 1999, pp. 99-108.
[22] A.P. Witkin and P.S. Heckbert, "Using Particles to Sample and Control Implicit Surfaces," Computer Graphics(Proc. Siggraph 94), vol. 28, no. 2, 1994, pp. 269-277.
[23] P. Crossno and E. Angel, “Isosurface Extraction Using Particle Systems,” Proc. IEEE Visualization '97, pp. 495-498, Nov. 1997.

Index Terms:
3D scanning, shape reconstruction, point cloud, range image.
Fausto Bernardini, Joshua Mittleman, Holly Rushmeier, Cláudio Silva, Gabriel Taubin, "The Ball-Pivoting Algorithm for Surface Reconstruction," IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 4, pp. 349-359, Oct.-Dec. 1999, doi:10.1109/2945.817351
Usage of this product signifies your acceptance of the Terms of Use.