adaptive marching cubes renben shu chen zhou mohan s. kankanhalli

28
Adaptive Marching Adaptive Marching Cubes Cubes Renben Shu Renben Shu Chen Zhou Chen Zhou Mohan S. Kankanhalli Mohan S. Kankanhalli

Post on 22-Dec-2015

240 views

Category:

Documents


1 download

TRANSCRIPT

Adaptive Marching Adaptive Marching CubesCubes

Renben ShuRenben ShuChen ZhouChen Zhou

Mohan S. KankanhalliMohan S. Kankanhalli

IntroductionIntroduction

►We present an adaptive version of We present an adaptive version of marching cubes (MC) called marching cubes (MC) called adaptive adaptive marching cubesmarching cubes (AMC). (AMC).

► It significantly reduces the number of It significantly reduces the number of triangles and improves the triangles and improves the performance of the manipulation of performance of the manipulation of the 3D surfaces.the 3D surfaces.

IntroductionIntroduction

►A typical example with the volume A typical example with the volume dataset of size 256dataset of size 256256256113 shows 113 shows that the number of triangles is reduced that the number of triangles is reduced by by 55%.55%.

►The The qualityquality of images produced by AMC of images produced by AMC is Similar to that of MC.is Similar to that of MC.

►Fundamental problem: Fundamental problem: Crack ProblemCrack Problem

IntroductionIntroduction

►The remainder of this paper is The remainder of this paper is organized as follows:organized as follows: Sect.2Sect.2 Briefly describes the MC and Briefly describes the MC and

AMC.AMC. Sect.3 Discusses the Sect.3 Discusses the crack problemcrack problem.. Sect.4 Data structures for Sect.4 Data structures for crack patchingcrack patching

&&

Result.Result. Sect.5 Presents the conclusions.Sect.5 Presents the conclusions.

Adaptive marching cubesAdaptive marching cubes

Fig. 1. Cuberille grid data

Fig. 2. Configurations of triangulated cubes

Adaptive marching cubesAdaptive marching cubes

► The basic strategy in AMC is to adjust the shape of The basic strategy in AMC is to adjust the shape of the approximating surface based on the the approximating surface based on the curvaturecurvature of the actual surface within a cube.of the actual surface within a cube.

► Initially, we partition the volumetric data set into Initially, we partition the volumetric data set into cubes with equal size of cubes with equal size of ,which we ,which we call initial cubes.call initial cubes.

► Then we partition these cubes recursively into Then we partition these cubes recursively into smaller and smaller cubes based on the smaller and smaller cubes based on the smoothnesssmoothness of the surface with them.of the surface with them.

)),,min((2 kjimm

Adaptive marching cubesAdaptive marching cubes

Fig. 3. How the adaptive marching cubes algorithm (AMC) works in 2D.

Adaptive marching cubesAdaptive marching cubes

►For each cube, if the actual inside surface iFor each cube, if the actual inside surface is s flat enoughflat enough, the triangles of the MC surfa, the triangles of the MC surface configurations are used to approximatce configurations are used to approximate it.e it.

►Conversely, if the actual surface has a Conversely, if the actual surface has a highigh curvatureh curvature, the cube will be partitioned i, the cube will be partitioned into eight subcubes.nto eight subcubes.

Adaptive marching cubesAdaptive marching cubes

►The process will be repeated until …The process will be repeated until … all surfaces in the subcubes are flat enough to all surfaces in the subcubes are flat enough to

be approximated with the MC configurations.be approximated with the MC configurations. or until the length of the subcube sides is one.or until the length of the subcube sides is one.

►We given a small constant We given a small constant , which is use , which is used to measure the angle of two normals.d to measure the angle of two normals.

►Problem: Problem: Crack ProblemCrack Problem

Crack ProblemCrack Problem

Fig. 4. How a crack orginates

Crack ProblemCrack Problem

►We define the following terms:We define the following terms: Patch facePatch face

►It is the It is the smallest facesmallest face for crack patching. for crack patching.►It is the common face of two neighboring cubes It is the common face of two neighboring cubes

of equal size, one of equal size, one divideddivided and the other and the other undividedundivided..

Intersection pointIntersection point►It is the approximate intersection point between It is the approximate intersection point between

the the actual surfaceactual surface and a and a cube edgecube edge with with different colors at the two ends.different colors at the two ends.

Intersection edgeIntersection edge►It is the linking line of two intersection points.It is the linking line of two intersection points.

Crack ProblemCrack Problem

Fig. 5. The occurrence of cracks.

SolutionSolution

►To solve the crack problem, we generate To solve the crack problem, we generate polygons with the same shapespolygons with the same shapes as those as those of the cracks and then patch them.of the cracks and then patch them.

►Our idea is to Our idea is to reducereduce all possible cases of all possible cases of shapes to some basic configurations, and shapes to some basic configurations, and then design the then design the crack-patching algorithmcrack-patching algorithm to cover all the cases.to cover all the cases.

SolutionSolution►The key issue here is how to deal with The key issue here is how to deal with

the arbitrary size of a patch face.the arbitrary size of a patch face. Case 1Case 1: both 1-vertex and 0-vertex : both 1-vertex and 0-vertex

present.present.In terms of topology there are only two In terms of topology there are only two

cases of patch cases of patch face show in Fig. 7face show in Fig. 7

Case 2Case 2: only 1-vertex or 0-vertex present.: only 1-vertex or 0-vertex present.

SolutionSolution

► Solid lineSolid line represents an represents an intersection edgeintersection edge contributed by contributed by undividundivided cubeed cube along the patch face. along the patch face.

► Dotted arcDotted arc represents a represents a polyline polyline which is made up of the consecut which is made up of the consecutive intersection edges contributed by the ive intersection edges contributed by the divided cubesdivided cubes..

Fig. 8.Case of one 1-vertex on a patch-face square

SolutionSolution

►Each case of the crack obeys the following Each case of the crack obeys the following rules:rules: At each end of a solid line, there is one At each end of a solid line, there is one

dotted arc ending.dotted arc ending. A patch-face edge with A patch-face edge with different coloreddifferent colored

vertices at both ends has an vertices at both ends has an oddodd number of number of intersection points on it.intersection points on it.

A patch face edge with A patch face edge with same coloredsame colored vertices at both ends has anvertices at both ends has an even even number number of intersection points on it.of intersection points on it.

SolutionSolution

Fig. 11.Case of two 1-vertices on a patch-face square

SolutionSolutionFig. 12.Case of all 0-vertices or all 1-vertices on a patch-face square

Fig. 13.Multiple cracks on one patch face.

SolutionSolution

► Based on the 22 basic configurations of Based on the 22 basic configurations of arbitrarily sized cracks in Figs. 8, 11, and 12, arbitrarily sized cracks in Figs. 8, 11, and 12, we can extract the common features to form we can extract the common features to form a a simple rulesimple rule for crack patching. for crack patching.

► The rule is that there is The rule is that there is only one polygon on only one polygon on each patch faceeach patch face, and it is formed by either , and it is formed by either patch-face edge segmentspatch-face edge segments or or intersection intersection edgesedges..

Crack-patching AlgorithmCrack-patching Algorithm

► AMC travels cubes in a AMC travels cubes in a scanline order.scanline order. X -> Y -> ZX -> Y -> Z

► The information that must be kept for crack patcThe information that must be kept for crack patching includes:hing includes: The The positionposition of a cube face. of a cube face. The The sizesize of a cube face. of a cube face. Intersection edgesIntersection edges on a cube face. on a cube face. Normals Normals of all intersection points of those edges.of all intersection points of those edges.

Crack-patching AlgorithmCrack-patching Algorithm

► For each patch face on a cube face, polygons For each patch face on a cube face, polygons are formed to cover all the cracks exactly, are formed to cover all the cracks exactly, one by one.one by one.

► A crack is sometimes formed by A crack is sometimes formed by patch-face patch-face edge segmentsedge segments, as well as , as well as intersection edgesintersection edges..

► This method is correct only if This method is correct only if multiple cracksmultiple cracks on a patch face are on a patch face are not interconnectednot interconnected..

Implementation and ResultsImplementation and Results► IBM RS-600/320 workstationIBM RS-600/320 workstation►Default curvature: 30Default curvature: 30

►DatasetDataset 256256256256113 CT scan of the human head (skin 113 CT scan of the human head (skin

surface).surface).

Note: AMC-X denotes the AMC with the initial cube size of X

Implementation and ResultsImplementation and Results

a. MC

b. AMC-2

c. AMC-4

d. AMC-8

Implementation and ResultsImplementation and Results

►DatasetDataset 256256256256113 CT scan of the human head (bone 113 CT scan of the human head (bone

surface).surface).

Implementation and ResultsImplementation and Results

a. MC

b. AMC-2

c. AMC-4

d. AMC-8

Implementation and ResultsImplementation and Results

►DatasetDataset 256256256256113 CT scan of a machine part.113 CT scan of a machine part.

Implementation and ResultsImplementation and Results

a. MC

b. AMC-2

c. AMC-4

Implementation and ResultsImplementation and Results

► They found an interesting effect:They found an interesting effect: It was found that there were about 10000 cracks It was found that there were about 10000 cracks

in CT scan of a human head, but the number of in CT scan of a human head, but the number of cracks that were visible was much smaller.cracks that were visible was much smaller.

► The larger the size of the initial cube, the The larger the size of the initial cube, the better the result (speed) achieved.better the result (speed) achieved.

► It is true that the image quality drops with It is true that the image quality drops with larger sizes of the initial cube.larger sizes of the initial cube.