Simon Giraudot
GeometryFactory
Surface reconstruction from point clouds is a core topic in geometry processing. It is an ill-posed problem: there is an infinite number of surfaces that approximate a single point cloud and a point cloud does not define a surface in itself. Thus additional assumptions and constraints must be defined by the user and reconstruction can be achieved in many different ways.
Comparison of reconstruction methods applied to the same input (full shape and close-up). From left to right: original point cloud; Poisson; advancing front; scale space.
Reconstruction in CGAL
Several surface reconstruction algorithms are provided by CGAL, namely Poisson Surface Reconstruction, Advancing Front Surface Reconstruction and Scale Space Surface Reconstruction (in addition, Optimal Transportation Curve Reconstruction covers curve reconstructions in 2D while Polygonal Surface Reconstruction implements a piecewise planar reconstruction algorithm specialized for urban processing). In addition, packages Point Set Processing and Spatial Searching can be used to preprocess point clouds.
Because such a diverse set of tools can be confusing for users, CGAL now offers a Tutorial on Surface Reconstruction from Point Clouds. This tutorial explains how to choose the right algorithm, how to preprocess defect-laden data, how the different algorithms are expected to behave depending on the data and on parameters, and how to save and postprocess the output meshes.
Code Provided
The whole tutorial is illustrated by screenshots of point clouds and meshes, and by code snippets. All of these code snippets form a complete program that is provided and that can be compiled and run by users.
Tutorial on Surface Reconstruction from Point Clouds
CGAL master branch on GitHub