Jason J. Corso
Interactive Haptic Rendering of Deformable Surfaces
Based on the Medial Axis Transform
Overview: We have developed a new method for interactive deformation and haptic rendering of viscoelastic surfaces. Objects are defined by a discretized Medial Axis Transform (MAT), which consists of an ordered set of circles (in 2D) or spheres (in 3D) whose centers are connected by a skeleton. Our implementation, called DeforMAT, is appealing because it takes advantage of single point haptic interaction to render efficiently while maintaining a very low memory footprint.
Collaborators: Jatin Chhugani, Allison Okamura
Discussion: The foundation of our algorithm is the use of shape skeletons as a basis for the object model. These shape skeletons are called the medial axis (surface) in 2D (3D). Shown below is an example of the medial axis of a 2D rectangle.
In this diagram the green lines are the actual surface and the yellow lines are the medial axes. The Medial Axis Transform (MAT) was originally proposed by Blum (67) as an alternative shape description for biological applications. It has recently been used by Pizer at UNC as a multilocal and multiscale representation for graphic and computer-aided design applications where the figure is defined by a mesh of medial "atoms." Gagvani, in his Ph.D. thesis has recently employed skeletonization to automatically generate the volumetric representation of a polygonal mesh; he explores the approach for use in volumetric modeling, deformation, and animation. We propose to employ the MAT as the underlying physical representation for viscoelastic surfaces. Since the MAT is defined as a skeletal axis and a set of locally maximal circles centered about the axis, it is an excellent model for use in single point haptic interaction where the use of implicit equations is common for efficient force rendering computation. As input to our algorithm, a set of MAT points are used to fully describe the necessary information of the object: position, radius, surface parameters (stiffness, etc). Through these data point we interpolate a high-dimensional parametric curve (the dimension of the curve is equal to the number of parameters, for 2d position and radius it would be 3 dimensional, for 3d position, radius, and mass it would be 5-dimension). This curve is the skeletal curve (2d) or surface (3d) against which all haptic interaction and deformation takes place. To aid in graphic rendering of these surfaces, we then extropolate an enveloping contour curve. The figure on the right displays these curves for a simple 2d MAT object. The green circle represent the input MAT points and the green curve is the medial axis. The dotted orange curve represents the extrapolated contour of the body. Some other images from the work are here.