Iso-surfacing RBFs
|
An RBF surface model cannot readily be used in existing graphics and CAD software. Polygonal meshes or spline patches
must be derived from the RBF representation. The traditional way of finding an explicit mesh representation is through an iso-surfacing algorithm
such as Marching Cubes. Unfortunately, such algorithms can be inefficient. They often generate
irregular and unnecessary facets and are usually restricted to
sampling on a regular cubic lattice (a). Many common implementations
also require evaluating and storing a complete 3D array of
values and so they have large computational requirements.
|
|
The FastRBFTM iso-surfacer improves on traditional methods in a number of ways. In particular, the functional nature of the RBF
representation provides a critical advantage: we can evaluate the function and its gradient anywhere. This allows the iso-surfacer to
produce meshes efficiently from RBFs. Spline patches are derived in a subsequent step. The principle innovations are:
Surface following minimises computation of the RBF. Wavefronts emanate from seed points across the surface (see below). This allows us
to avoid the computation and storage associated with a 3D voxel array.
Low memory overheads result from storing only the advancing wavefronts. This enables reconstruction of large surfaces at high resolution.
On-the-fly mesh optimisation reduces the number of facets and produces triangles with uniform aspect ratios. This avoids creating thin, elongated and small
facets (b).
Optimisation can be constrained to force facet vertices to lie on parallel plane (c).
|
|
|
|
| Propagation of a surface-following wavefront from a single seed point during iso-surfacing of a Radial Basis Function. |
FastRBF
TM now provides an anti-aliasing filter.
Aliasing can arise when iso-surfacing an RBF at a resolution coarser than the highest level
of detail present in the RBF. When the anti-aliasing option is specified a low pass filter is applied with a cut-off frequency appropriate
to the mesh resolution specified by the user.
 | FastRBF FAQ |