06/01/1994 09:00 AM

Computer Science

A popular technique for rendition of isosurfaces in sampled data is to consider cells with sample points as corners and approximate the isosurface in each cell by one or more polygons whose vertices are obtained by interpolation of the sample data. That is, each polygon vertex is a point on a cell edge, between two adjacent sample points, where the function is estimated to equal the desired threshold value. The two sample points have values on opposite sides of the threshold, and the interpolated point is called an intersection point. When one cell face has an intersection point in each of its four edges, then the correct connection among intersection points becomes ambiguous. An incorrect connection can lead to erroneous topology in the rendered surface, and possible discontinuities. We show that disambiguation methods, to be at all accurate, need to consider sample values in the neighborhood outside the cell. This paper studies the problems of disambiguation, reports on some solutions, and presents some statistics on the occurrence of such ambiguities. A natural way to incorporate neighborhood information is through the use of calculated gradients at cell corners. They provide insight into the behavior of a function in well-understood ways. We introduce two gradient-consistency heuristics that use calculated gradients at the corners of ambiguous faces, as well as the function values at those corners, to disambiguate at a reasonable computational cost. These methods give the correct topology on several examples that caused problems for other methods we examined.