+ All Categories
Home > Documents > Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Date post: 22-Dec-2015
Category:
View: 225 times
Download: 1 times
Share this document with a friend
19
Marching Cubes A High Resolution 3D Surface Construction Algorithm
Transcript
Page 1: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Marching Cubes

A High Resolution 3D Surface Construction Algorithm

Page 2: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Slice Data to Volumetric Data(1)

Page 3: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Slice Data to Volumetric Data(2)

Page 4: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Marching Cube Create cells (cubes) Classify each vertex Build an index Get edge list

Based on table look-up Interpolate triangle vertices Obtain polygon list and do shading in

image space

Page 5: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Cube

Consider a cube defined by 8 data values, 4 from slice k, and another 4 from slice k+1

Page 6: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Classify each vertex

Label 1 or 0 as to whether it lies inside or outside the surface

Match!!!

0

1

0

1

1

00

0

Page 7: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Build an indexCreate an index of 8 bits from the binary labeling of each vertex.

Page 8: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Get edge list

Give an index, store a list of edges.

Because symmetry : 256/2=128rotation : 128/8=16

256 cases are reduced to 14 cases.

Page 9: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Interpolate triangle vertices

X = i +

i i+1Xi i+1X

= 20

= 10

iso_value=18 iso_value=14

(iso_value - D(i))

(D(i+1) - D(i))

Page 10: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Problems about MC

Empty cells 30-70% of isosurface generation time wa

s spent in examining empty cells. Speed

Ambiguity

Page 11: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

The Asymptotic Decider

Resolving the Ambiguity in Marching Cubes

Page 12: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Ambiguity Problem (1) Ambiguous Face : a face that has two diagonally o

ppsed points with the same sign

+

+

Page 13: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Ambiguity Problem (2) Certain Marching Cubes cases have more than

one possible triangulation.

Case 6 Case 3

Mismatch!!!

+

+

+

+

Hole!

Page 14: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Ambiguity Problem (3) To fix it …

Case 6 Case 3 B

Match!!!

+

+

+

+

The goal is to come up with a consistent triangulation

Page 15: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Asymptotic Decider (1) Based on bilinear interpolation over

faces

B01

B00 B10

B11

(s,t)

B(s,t) = (1-s, s) B00 B01B10 B11

1-t t

The contour curves of B:

{(s,t) | B(s,t) = } are hyperbolas

= B00(1- s)(1- t) + B10(s)(1- t) +

B01(1- s)(t) + B11(s)(t)

Page 16: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Asymptotic Decider (2)

(0,0)

(1,1)

Asymptote

(ST

If B(ST >=

(ST

Not Separated

Page 17: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Asymptotic Decider (3)

(1,1)

Asymptote

(ST

(0,0)

If B(ST <

(ST

Separated

Page 18: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Asymptotic Decider (4)

(S1 , 1)

(ST

(S0 , 0)

S B00 - B01 B00 + B11 – B01 – B10

T B00 – B10 B00 + B11 – B01 – B10

B(ST B00 B11 + B10 B01 B00 + B11 – B01 – B10

(0 , T0)

(1 , T1)

B( S) = B( S , 1)B( 0, T) = B( 1 , T)

Page 19: Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Asymptotic Decider (5) case 3, 6, 12, 10, 7, 13

(These are the cases with at least one ambiguious faces)


Recommended