Download presentation
Presentation is loading. Please wait.
1
Marching Cubes A High Resolution 3D Surface Construction Algorithm
2
Slice Data to Volumetric Data(1)
3
Slice Data to Volumetric Data(2)
4
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
5
Cube Consider a cube defined by 8 data values, 4 from slice k, and another 4 from slice k+1
6
Classify each vertex Label 1 or 0 as to whether it lies inside or outside the surface Match!!! 0 1 0 1 1 0 0 0
7
Build an index Create an index of 8 bits from the binary labeling of each vertex.
8
Get edge list Give an index, store a list of edges. Because symmetry : 256/2=128 rotation : 128/8=16 256 cases are reduced to 14 cases.
9
Interpolate triangle vertices X = i + ii+1X i X = 20 = 10 iso_value=18iso_value=14 (iso_value - D(i)) (D(i+1) - D(i))
10
Problems about MC Empty cells 30-70% of isosurface generation time was spent in examining empty cells. Speed Ambiguity
11
The Asymptotic Decider Resolving the Ambiguity in Marching Cubes
12
Ambiguity Problem (1) Ambiguous Face : a face that has two diagonally oppsed points with the same sign + +
13
Ambiguity Problem (2) Certain Marching Cubes cases have more than one possible triangulation. Case 6 Case 3 Mismatch!!! + + + + Hole!
14
Ambiguity Problem (3) To fix it … Case 6 Case 3 B Match!!! + + + + The goal is to come up with a consistent triangulation
15
Asymptotic Decider (1) Based on bilinear interpolation over faces B01 B00B10 B11 (s,t) B(s,t) = (1-s, s) B00 B01 B10 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)
16
Asymptotic Decider (2) (0,0) (1,1) Asymptote (S T If B(S T >= (S T Not Separated
17
Asymptotic Decider (3) (1,1) Asymptote (S T (0,0) If B(S T < (S T Separated
18
Asymptotic Decider (4) (S 1, 1) (S T (S 0, 0) S B00 - B01 B00 + B11 – B01 – B10 T B00 – B10 B00 + B11 – B01 – B10 B(S T B00 B11 + B10 B01 B00 + B11 – B01 – B10 (0, T 0 ) (1, T 1 ) B( S ) = B( S , 1) B( 0, T ) = B( 1, T )
19
Asymptotic Decider (5) case 3, 6, 12, 10, 7, 13 (These are the cases with at least one ambiguious faces)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.