
ARTICLE IN PRESS Computers & Graphics 30 (2006) 854–879 www.elsevier.com/locate/cag A survey of the marching cubes algorithm Timothy S. NewmanÃ, Hong Yi Department of Computer Science, University of Alabama in Huntsville, Huntsville, AL 35899, USA Abstract A survey of the development of the marching cubes algorithm [W. Lorensen, H. Cline, Marching cubes: a high resolution 3D surface construction algorithm. Computer Graphics 1987; 21(4):163–9], a well-known cell-by-cell method for extraction of isosurfaces from scalar volumetric data sets, is presented. The paper’s primary aim is to survey the development of the algorithm and its computational properties, extensions, and limitations (including the attempts to resolve its limitations). A rich body of publications related to this aim are included. Representative applications and spin-off work are also considered and related techniques are briefly discussed. r 2006 Elsevier Ltd. All rights reserved. Keywords: Marching cubes; Isosurface extraction; Indirect volume rendering; Volume visualization; Scientific visualization 1. Introduction 1.1. Historical background Volume visualization has been applied in many problem The MC is a sequential-traversal method that was domains and, as such, has become an important tool for described in 1987 by Lorensen and Cline [2]. MC, while exploring data and discovering knowledge. Commonly, the popular, is not the oldest isosurface extraction method. For domain data to be visualized is scalar volumetric data. instance, Wyvill et al. [4] presented a propagation-based Scalar volumetric data can be defined as a collection A of method in 1986. That method is somewhat similar to MC, 3D points Pi ¼ðxi; yi; ziÞ, each of which has its own scalar and it is sometimes identified as an MC approach [5]. value or property [1]. Volumetric data sets are often However, MC and the Wyvill et al. method are distinctive rendered using indirect volume rendering (IVR) techni- in several ways. For example, they use quite different ques. The indirect techniques involve rendering of an traversal orderings. The isosurfaces they extract also differ. intermediate structure—such as an isosurface—that has Due to the differences, and since most teams who have been extracted from the data, typically via automatic described application of an ‘‘MC’’ methodology have means. employed the Lorensen–Cline approach, we restrict the This paper is a survey of the literature involving one IVR MC designation to the Lorensen–Cline approach. method for scalar volumetric data sets, the marching cubes (MC) algorithm [2]. The MC is probably the most popular isosurfacing algorithm [3], and a rich body of literature has grown up around it. In addition to being a subject of 1.2. Some preliminaries ongoing visualization research, the MC is also influencing research in other areas. An isosurface can be defined as follows. Given a scalar field FðPÞ, with F a scalar function on R3, the surface that satisfies FðPÞ¼a, where a is a constant, is called the isosurface defined by a. The value a is called the isovalue.In practice, isosurface extraction usually involves generation ÃCorresponding author. Tel.: +1 256 824 6619; fax: +1 256 824 6239. of an approximate, piecewise isosurface (usually composed E-mail address: [email protected] (T.S. Newman). of a collection of triangles) on a sampled scalar field. 0097-8493/$ - see front matter r 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cag.2006.07.021 ARTICLE IN PRESS T.S. Newman, H. Yi / Computers & Graphics 30 (2006) 854–879 855 The isosurface could consist of a single component or of The MC does pose certain challenges, including achieve- multiple, disjoint ones. ment of high performance and the potential for the extracted isosurface to have degeneracies and ambiguities. 1.3. Utility and motivation Although extensive work has been done to address these challenges, aside from a brief summary of three early Past usage of many volumetric data sets often involved isocontouring methods [16] and brief reviews of some of viewing only 2D cross-sectional ‘‘slices’’ (i.e., a plane of the isocontour extraction literature [17–19], to our knowl- data points) through the data. For example, a slice image edge there has been no survey of the development and from a CT data set of a lobster is shown in Fig. 1. extensions of MC. This paper presents such a survey, Isosurface extraction, in contrast, can enable one or more focusing on publications in the graphics and visualization phenomena or structures of interest in a data set to be literature. isolated and rendered (using conventional surface-based graphics methods). Moreover, isosurface display is usually 1.4. Organization fast since most isosurfacing methods output a mesh composed of triangular facets; rendering of triangles is The paper is organized as follows. First, the standard fast on typical graphics hardware. An isosurface extracted MC approach is described (Section 2). Then, extensions of from the lobster data set is shown in Fig. 2. The isosurface the algorithm, in particular those related to traversal, are shown approximately corresponds to the exoskeleton’s discussed (Section 3). In Sections 4–6, the algorithm’s boundary. isosurface assembly component, which includes a triangu- Although MC is not the oldest isosurfacing method, it is lation mechanism, is considered. These three sections very well-known and widely applied. Part of its appeal is survey variant isosurface representations (Section 4), the that it follows a straightforward, practical approach. The ambiguities in the triangulation mechanism and the known MC has been applied in many application areas, including methods for disambiguation (Section 5), and methods that biochemistry (e.g., [6]), biomedicine (e.g., [7]), deformable reduce the triangulation’s facet count (Section 6). Work modeling (e.g., [8]), digital sculpting (e.g., [9]), environ- related to the final output, especially computing quantities mental science (e.g., [10]), mechanics and dynamics (e.g., from isosurfaces, is discussed in Section 7. Section 8 [11]), natural phenomena rendering (e.g., [12]), visualiza- concludes the paper. tion algorithm analysis (e.g., [13]), etc. Processing involving depth maps (e.g., [14]) has also been influenced by MC 2. The MC algorithm isosurface extraction, especially in the development of methods based on distance fields (e.g., [15]). The standard MC algorithm, as originally described by Lorensen and Cline [2], takes as its input a regular scalar volumetric data set. Such a data set has a scalar value residing at each lattice point of a rectilinear lattice in 3D space. Thus, the lattice point at row yi ð8iÞ and column xj ð8jÞ of slice Sk (1okon, where n is the number of slices) is directly adjacent to the lattice points at row yi and column xj of slices SkÀ1 and Skþ1. The MC processes the volumetric data set by considering the ‘‘cubes’’ Cl that make up the volume. The cubes are defined by the volume’s lattice. Each lattice point is a corner vertex of a cube. Fig. 3 Slice S Fig. 1. Cross-sectional view through CT lobster data set. k+1 Slice Sk Fig. 3. Illustration of a cube formed on lattice points. AR A AF Fig. 4. Illustration of reflective (A with AF ) and rotational (A with AR) Fig. 2. An isosurface extracted from CT lobster data set. symmetries. ARTICLE IN PRESS 856 T.S. Newman, H. Yi / Computers & Graphics 30 (2006) 854–879 01234567 8 9 10 11 12 13 14 Fig. 5. The 15 basic intersection topologies (using the numbering of [2]). illustrates one cube defined by lattice points in adjacent (the patterns vary only rotationally by the aligning slices Sk and Skþ1. The lattice lines shown in the figure (i.e., transformation R). the line segments that join adjacent corner vertices) define The 15 unique cube–isosurface intersection scenarios the edges of the cube. that result when considering both of these symmetries are shown in Fig. 5. We will use the topological case 2.1. Methodology numbering of Fig. 5, which is the same as the standard MC [2], throughout this survey. For each scenario, the The standard MC constructs a facetized isosurface by standard MC facetization of the intersecting isosurface is processing the data set in a sequential, cube-by-cube shown. Lorensen and Cline [2] stored facetization informa- (scanline) manner. Thus, the approach first processes the tion (specifically, the vertices of the triangle(s) to be m cubes of the first row of the first layer of the data set in generated, each identified by the edge on which it lies) 1 sequential order: C1; C2; ...; Cm. During this processing, about the 15 intersection topologies in a look-up table each cube vertex V i that has a value equal to or above the built offline prior to application of MC. This table has isovalue a is marked; all other vertices are left unmarked. usually been hand-built, which can be tedious, but methods The isosurface intersects each cube edge Ej terminated by to enumerate the cases (e.g., [20,21]) now exist and are one marked vertex V js and one unmarked vertex V je . Any discussed later in this paper. cube that contains an intersected edge is active. The The isosurface–edge intersection locations can be esti- computations that find the active cubes can be viewed as mated with subvertex accuracy using an interpolation the active cube determination component of MC. This technique. Standard MC employs linear interpolation to component can be implemented as a stand-alone early estimate the intersection point for each intersected edge. If processing step or integrated with other processing, but in a unit-length edge E has end points V s and V e whose scalar either case it involves data set traversal in sequential, values are Ls and Le, respectively, then given an isovalue a, forward-marching order.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages26 Page
-
File Size-