Computer-Aided Design 39 (2007) 1091–1112 www.elsevier.com/locate/cad
Moving parabolic approximation of point clouds Zhouwang Yang a , Tae-wan Kim b,∗ a Department of Naval Architecture and Ocean Engineering, Seoul National University, Seoul 151-744, Republic of Korea b Department of Naval Architecture and Ocean Engineering, and Research Institute of Marine Systems Engineering, Seoul National University,
Seoul 151-744, Republic of Korea Received 16 March 2007; accepted 22 August 2007
Abstract Using moving parabolic approximations (MPA), we reconstruct an improved point-based model of curve or surface represented as an unorganized point cloud, while also estimating the differential properties of the underlying smooth manifold. We present optimization algorithms to solve these MPA models, and examples which show that our reconstructions of the curve or surface, and estimates of the normals and curvature information, are accurate for precise point clouds and robust in the presence of noise. c 2007 Elsevier Ltd. All rights reserved.
Keywords: Point cloud; Normal; Curvature; Moving parabolic approximation; Constrained optimization
1. Introduction Acquiring large amounts of point data from real objects has become more convenient because of modern range sensing technologies and digital scanning devices. However, the data acquired is usually distorted by noise, arising out of physical measurement processes, and by the limitations of the acquisition technologies. Even so, it is possible to obtain the smooth underlying shapes (curves or surfaces) which are implied by an unstructured point cloud. Consequently, techniques of reconstructing models from noisy data sets are receiving increasing attention. Point-based surfaces [1,21,2] have recently become an appealing shape representation in computer graphics. Researchers [36,39,32,46] have used sampled points as a graphics primitive to complement conventional geometrical elements such as triangles or splines. Highly detailed surfaces require a large number of small elements, each of which may contribute less than a pixel during rendering; this makes points effective display primitives. Point-based surfaces can be used for modelling as well as rendering, and have various advantages in this context. Zwicker et al. [45] developed an open-source system (PointShop 3D) for interactive editing of the shape and appear-
∗ Corresponding author. Tel.: +82 2 880 1434; fax: +82 2 888 9298.
E-mail address:
[email protected] (T.-w. Kim). c 2007 Elsevier Ltd. All rights reserved. 0010-4485/$ - see front matter doi:10.1016/j.cad.2007.08.005
ance of point-based models in 3D, supporting a range of operations including cleaning, texturing, sculpting, carving, filtering and resampling. Pauly et al. [35] introduced a free-form shape modelling framework for point-sampled geometry, which includes processes such as Boolean operations, deformations and dynamic sampling. A point-based representation of a curve or a surface should be as compact as possible, meaning that it is neither noisy nor redundant. It is therefore important to develop algorithms which generate compact point sets from nonuniform and noisy input, so as effectively to reconstruct the smooth underlying shapes. It should also be possible to recover the intrinsic geometric properties of the underlying shapes as precisely as possible from point clouds. It is useful to be able to estimate the differential properties of point-based surfaces accurately for many applications. Differential quantities such as normals, principal curvatures and principal directions of curvature can be used for a variety of tasks in computer graphics, computer vision, computer-aided design, geometric modelling, computational geometry and industrial and biomedical engineering. Successful applications of differential data include registration [41,22], segmentation [42], feature extraction [14,34], smoothing [7], simplification [33, 28], reconstruction [37,43], medical visualization [19], nonphotorealistic rendering [12,18,6], and surface analysis [15] and shape interrogation [23] in computer-aided design.