A well-known strength of the parametric representation of a curve or surface is the ease by which a piecewise-linear approximation is generated. This is often true in geometric design, where only smooth segments or patches are considered over a well-chosen polynomial basis. Visualizing an arbitrary and possibly discontinuous parametric surface is useful but non-trivial for algebraic surfaces defined by rational parameter functions. Such surfaces have pole curves in their domain, where the denominators of the parameter functions vanish, domain base points that correspond to entire curves on the surface, and other features that cause display algorithms to fail. These are ubiquitous problems occurring even among the natural quadrics. Sophisticated but unsuspecting display techniques (e.g. those implemented in Maple V, Mathmatica) produce completely unintelligible results. We provide a general solution and discuss our implementation. First, projective domain transformations are applied that map the entire surface from a finite domain region. Then, domain pole curves are identified and numerically approximated. Using Delaunay triangulation, a special decomposition of the domain is constructed that avoids discontinuities. This is then mapped onto the surface and clipped against a 3D box. The implementation can display very complicated surfaces, as we shall illustrate. Our techniques generalize in a straightforward way to rational varieties of any dimension.
|