My primary interest is in geometric algorithms with an emphasis on practical applications. These practical applications have included placement, motion planning, shape comparison, vision, sensing, and mesh generation.
My work on mesh generation has been motivated by the finite element method for approximating solutions to partial differential equations. The first step of this method is to divide the given problem region into simply-shaped elements to create a mesh. A number of algorithms have been developed to automate this process, but most of them do not guarantee the quality of the resulting mesh (for instance, an element may cross a region boundary or there may be some flat triangles, leading to poor error bounds). I have developed efficient techniques for producing meshes of guaranteed quality for problems in the plane and for curved surfaces. The elements produced are all triangles that are close to equilateral in shape; all region boundaries are respected; and the user can control the element density, producing small elements in "interesting" regions and large elements elsewhere. I am working to extend this technique to full three-dimensional problems, producing tetrahedral meshes.
My work on mesh generation is one example of the geometric issues that arise as part of the problem of automatically generating scientific software. The goal here is to raise the level at which such software is specified by developing an environment in which scientific software can be created using the natural, high-level, mathematical concepts of physics and engineering. Thus, a program is specified implicitly as a collection of mathematical equations. Geometric and symbolic techniques are then used to transform these mathematical expressions into effective programs.
If you have questions or comments please contact: www@cs.cornell.edu.