My work in geometric modeling began with my Master's project, which involved the development of algorithms for the fitting and smooth-shading of Steiner surfaces (See Breen 1986). I also developed an algorithm for CSG evaluation (Constructive Cubes) based on spatial enumeration and the Marching Cubes algorithm (See Breen 1991). The Constructive Cubes (CC) Algorithm was later extended to become a major component of a 3-D scan conversion algorithm. (See Breen et al. 1998). This algorithm may be used to generate a distance volume from a CSG model consisting of superquadric primitives. A distance volume is a volume dataset where each voxel stores the shortest distance to the object embedded in the volume. The extended CC algorithm is used to calculate shortest distance/closest point information in a narrow band around the evaluated surface of the CSG model. A Fast Marching Method is then employed to propagate the shortest distance/closest point information to the remaining voxels in the volume. Distance volumes provide the initial input for a 3-D morphing algorithm. They may also be used to generate offset surfaces from the original CSG model. The scan conversion method has been extended to also create color and closest-point volumes, which may be used to color-shade the surface models extracted from the distance volume. (See Breen et al. 1999, 2000).
I have been involved in two projects investigating algorithms for extracting adaptive, multiresolution meshes from volume datasets. (See Wood et al. 2000, and Gavriliu et al. 2001). These approaches are useful for extracting high-quality meshes directly from volumes, rather than first generating Marching Cubes meshes, which are then cleaned up as a post-process. The Gavriliu et al. technique was patented in 2004.
I led an effort to develop a set of editing operators for modifying level set models. These operators provide a powerful approach to creating complex objects from volumetric models. They were implemenetd in a modeling framework and include CSG operators with localized blending, localized smoothing for model repair, as well as morphological operators (See Museth et al. 2002, 2003).
I contributed to the development of a procedural method for generating stochastic microgeometry for displacement mapping. Here, stochastic geometry contact distributions are used to describe non-deterministic features on surface models. The technique is useful for producing many different kinds of irregular surface detail with a single mathematically- and physically-sound computational approach; thus providing a powerful model processing tool for transforming smooth, "ideal" geometric models into convincing representations of natural or hand-made objects. (See Schroeder et al. 2005). A poster that summarizes the technique is available here.
I have been involved in several contour-based surface reconstruction projects. This work involves creating 3D surfaces from sets of contours that have been manually or automatically extracted from 2D images produced by some kind of scanning process. In the first project 2D level set morphing is used to transform one contour into the next in order to sweep out a smooth 3D surface that interpolates the input contours. (See Nilsson et al. 2005). In the second project MPU implicit models are used to smooth the input binary contours. A 2D distance field is calculated around the MPU curve and then is filtered to remove the medial axis discontinuities. The 2D fields are interpolated with monotonicity-constrained splines to produce a 3D field. The reconstructed surface is the zero level set of the 3D field. (See Marker et al. 2006). A poster that summarizes the technique is available here. The third method utilizes Multi-level Partition of Unity (MPU) implicit models to reconstruct surfaces from noisy input contours. Almost all contour-based surface reconstruction techniques exactly interpolate the input contours. MPU implicit surfaces are a type of point set surface that approximates input data within user-specified error bounds. Thus they offer an approach that inherently copes with noisy data in a controllable fashion. The MPU-based reconstruction technique interprets the contour data (pixels in individual images) as points in 3-space. Since MPU implicits also require normal information, it was necessary to develop an algorithm to estimate surface normals from the stacked contours. (See Braude et al. 2007).
The following images were generated by Marcel Gavriliu and Joel Carranza