First the points are converted into a binary volumetric object using simple 3D Voxel-Coding starting with voxels that include the sample points. Then contours are interpreted as centerlines of cross-sections. The centerlines are obtained by using a series of 2D Voxel-Coding operations. Input points are sampled from an unknown object satisfying certain sampling criteria. No additional details about the input data are needed.
Output contours pass through or approximate sample points.
Fist 18734 points are turned into 254 contours in 83 seconds.