# Fast Implicit Surface Reconstruction for the Radial Basis Functions Interpolant
## 5 Fast Reconstruction  
### Voxel Growing  
To polygonize the surface of an implicit function, the geometry space should be discretized to construct the voxels for evaluation, as shown in Figure 2. The classical marching cubes method evaluates all the voxels to extract the zero level set (Figure 3a), while the voxel growing method only evaluates the voxels intersecting the isosurface in the geometry space (Figure 3b). However, it is time consuming to determine the first initial seed point by traversing all the cubes. Moreover, the original voxel growing method cannot ensure to recover the complete model with multiple isosurfaces for missing some possible seed points, as shown in Figure 3b.  
Figure 3: Comparison of evaluation points using different reconstruction methods. (**a**) The evaluation process using the marching cube method. (**b**) The evaluation process using the voxel growing method with one seed. (**c**) The initial seed voxels constructed from constraint points. (**d**) The evaluation process using the voxel growing method with multiple seeds.  
Figure 2: The voxel growing method with multiple seeds. (**a**) The domain constraints with different domain values. The zero level set represents the implicit surface. (**b**) The initial seed voxels selected from the domain constraints with zero values.  
In this paper, combined with the single point FMM, we improve the voxel growing method without specifying the seed points manually. For the RBF interpolant, all of the domain constraints with zero values are selected as seed points to avoid missing evaluations, as shown in Figure 2. The voxel containing at least one seed point is viewed as an initial seed voxel. Then the method tracks the voxels intersecting the isosurface using all the initial seed voxels. We construct a voxel growing queue to store the adjacent voxels intersecting the isosurface for tracking. The adjacent voxels intersected the isosurface are appended to the voxel growing queue greedily until there are no new voxels intersected the isosurface, as shown in Figure 3d. Note that the evaluated voxels should be marked to avoid recomputation. Different from the marching cubes method, the voxel growing method evaluates the voxels greedily. Though the voxel growing method reduces the number of evaluations, the evaluation points should be determined via the reconstruction process step by step, which reduces the efficiency of single point evaluation. To improve the evaluation efficiency, the single point FMM is used to evaluate the points one by one. Note that the evaluated points should be marked to avoid recomputation.  
The improved voxel growing achieves the same reconstruction effect more efficiently. In the growing process, a voxel growing queue is used to track an isosurface. Reconstructing an isosurface requires only one initial seed voxel. As long as each isosurface has at least one constraint point with zero values, the original model can be completely reconstructed. Generally, the sampling points can meet the requirement in practical applications. It is worth noting that the initial seed voxels in the same isosurface are repeated and should be removed to avoid recomputation. Considering the fact that a voxel growing queue corresponds to an isosurface, an available approach is to remove the repeated initial seed voxels in the same growing queue gradually.