AN ENHANCED ALGORITHM FOR SURFACE RECONSTRUCTION FROM A CLOUD OF POINTS M. S. Abdel-Wahab, A. S. Hussein, I. Taha, M. S. Gaber Faculty of computer and information science, Ain shams university , Cairo, Egypt. m_s_wahab@fcisainshams.edu.eg, ashrafh@acm.org, ismail_taha@informatique-eg.com, msalah80@gmail.com Abstract In this paper, a comparative study is performed between the most eminent computational geometry based surface reconstruction algorithms. These algorithms are the Crust, the Power Crust, the Tight Cocone and the Ball Pivoting algorithm. The key issues for the comparison are the quality of the reconstructed surface, the reconstruction time, and the total memory usage. To guarantee a proper comparison, the algorithms were implemented using the same programming tools and tested on the same platform. Several benchmark test cases were used to validate the implemented algorithms. The Crust and Power Crust algorithms showed a balanced trade-off between execution time and memory usage. The Ball Pivoting algorithm exhibited minimum execution time and memory usage, followed by the Tight Cocone. The experiments showed that applying any of the four algorithms on a non-uniformly distributed cloud may create poor quality surface. To deal with such clouds, an enhanced algorithm based on Ball Pivoting algorithm and Radial Basis Functions is proposed. The enhanced algorithm has the capability of filling any detected hole within the surface reconstruction process. The proposed algorithm exhibited high robustness in reconstructing objects with non-uniform sampling and misregistrations. Keywords: Surface Reconstruction, Surface Modeling, Shape Recognition, Voronoi Diagram, Delaunay Triangulation. 1. Introduction There is a wide range of applications in science and engineering for which surface reconstruction from scattered point data is important, including reverse engineering, cartography, medical imaging and industrial design. In many scientific systems, the surface data of 3D shapes—reaching from bodies to landscapes—is required for further processing. Scanning of these 3D shapes provide the source of data for the surface reconstruction process. Surfaces also open the application of the wide-spread surface-oriented visualization and rendering techniques. For example, surfaces may be used for visualizing other information e.g. coded in textures (data textures or real textures) mapped on the surface (adapted from [19]). Mathematically, the problem can be expressed as follows, given a set of points S={s n 1 ,s 2 ,…,s n }, which are sampled from some unknown smooth surface U , find a mesh M that approximates the surface U , i.e. the mesh and the surface are near everywhere [16]. The output is initially some mesh (mostly a triangulation) that has the same general shape of the original surface. If the generated mesh connects the original input points, then it interpolates the surface. Alternatively, the mesh may connect generated points other than those of the input set. In the latter case, the mesh is said to approximate the surface. A common classification criterion of surface reconstruction techniques is to categorize the technique as either a surface interpolation algorithm or a surface approximation one [20]. One of the first surface interpolation algorithms is the one presented by Edelsbrunner and Mucke in [13], which uses the heuristic α -shapes. Amenta and Bern [1] used the properties of the medial axis and Voronoi diagram to introduce the Crust algorithm, which was the first guaranteed surface reconstruction algorithm. They extracted an approximated triangulated surface from the Delaunay triangulation of the input set. Amenta et al. [3] described the co-cone term and used it in their Cocone algorithm. The Cocone computes the Delaunay triangulation of the input set, and selects candidate triangles to construct the surface. Dey and Goswami [12] modified the Cocone into a new algorithm—the Tight Cocone—to solve problem instances of specific domains that require hole-free surfaces. They also introduced the Boundary algorithm [10] and suggested using it [12] in the Tight Cocone as preprocessing. The Boundary algorithm is an algorithm which detects undersampled regions in the input point set. Kolluri et al. [18] introduced a noise-resistant algorithm for watertight surfaces. The latter algorithm uses a variant of spectral graph partitioning to select triangles from the Delaunay triangulation to construct the surface. All the aforementioned algorithms can be described as Voronoi based algorithms and they generally suffer from slow performance and difficulty in handling large data. To overcome this problem, Dey et al. [11] partitioned the entire sample space into smaller clusters using octree GVIP 05 Conference, 19-21 December 2005, CICC, Cairo, Egypt