A base lookup table (15 major cases of intersection the isosurface with a ... These nodes could be appertained to the same spatial area inside the cube and ...
Header for SPIE use
Marching cubes: surface complexity measure Sergey V. Matveyev Institute for High Energy Physics, 142284, Protvino, Russia Concern Russian Security Technology, Moscow, Russia ABSTRACT In this work we give an approach to analyse a surface topology complexity inside a cube in the Marching Cube (MC) algorithm. The number of the isosurface intersections with the cube diagonals is used as the complexity criterion. In the case of the trilinear interpolation we have the cubic equation on the each cube diagonal and there is a possibility to find the coordinates of the three intersections with the diagonal of the approximated surface. In the presented work a common technique for choosing the right subcase from the extended lookup table by using a surface complexity criterion is proposed. Keywords: Marching cube, lookup table, complexity criterion, ambiguity.
INTRODUCTION The Marching Cubes algorithm is a well known algorithm for volume visualization 1, 6. The main problem is that inside the cube it is necessary to obtain the isosurface topologically equivalent to the given one 5. The solution of this problem consists in the correct connection of the points in the cube volume and in separating triangles (in the general case of polygons) approximating the isosurface correctly. We would like to mention the two principal approaches to the topology disambiguation inside the cube. 1. A base lookup table (15 major cases of intersection the isosurface with a cube) should be extended for consideration of all possible cases (add to 18 subcases, approximately). 3, 4 2. A direct method produces the isosurface inside the cube by using trilinear interpolation. 2 In the first approach it is necessary to make the right choice from the lookup table. We can use the different criteria for different subcases from the extended table. Direct method is more costly. It produces the isosurface inside the cube without an information about the case of intersection. This algorithm of the isosurface approximation does not use the information from the lookup table and the size of this table is not important. The second approach is based on getting the maximum number of isosurface points inside the cube. This allows not only to approximate the topologically correct isosurface but to get the maximum accuracy shape of the surface. Natarajan 3 proposes an algorithm, that examines seven saddle points: one on each face of the cube and one on the interior of the cube. Comparison the saddle values with the nodes values allows to connect the points on the faces. This algorithm does not use the additional points inside the cube, which are necessary for correct isosurface approximation in some cases. Four cases were added in the base lookup table (#3-2, #6-2, #6-3, #7-4). Nielson and Hamann4 used the information about the points connection on the ambiguous faces as the criterion for the internal approximation of isosurface. An ambiguous face has two opposed nodes that are marked (or positive for future consideration) and other two nodes are unmarked (or negative). If positive nodes are isolated by the isolines on the face (see fig. 1), we will say that the face is separated
Figure 1
Ambiguous face
The information about the nodes separation is very important. The real isosurface separates positive and negative spatial areas inside the cube. In most cases the resolution of the ambiguity on the faces allows to approximate the topologically correct isosurface inside the cube. However, if the opposite diagonal nodes are separated on the faces, this does not mean that these nodes are separated inside the cube. These nodes could be appertained to the same spatial area inside the cube and therefore they are not separated. The topological ambiguity takes place in such configuration. Configuration number 6 (fig. 2) is a typical example. There are no ambiguities on the faces, but this configuration allows two different cases of points connection inside the cube. In the first case the opposite diagonal nodes are separated, in the second - they are not. In the first case we have a sheeted surface and in the second we have a funnel. In this case it is necessary to obtain an additional information about the surface behavior inside the cube.
Figure: 2 Two possible ways of connecting nodes inside the cube (case 6 of the base lookup table)
SURFACE TOPOLOGY COMPLEXITY CRITERIA Let us consider the function behavior inside the cube. As the surface topology complexity criterion we use the number of the isosurface intersections with the cube diagonals.2 Let us introduce a local variable ξ , connected with the position of the point on the diagonal. (see. fig.: 3).
Figure. 3 Cube
Then the equations describing the function behavior on the diagonals B1 − B7 , B2 − B8 , B4 − B6 , B5 − B3 are equal to F (ξ ,ξ ,ξ ) = a + (b + c + d )ξ + (e + f + g )ξ 2 + hξ 3 , F (1 − ξ ,ξ ,ξ ) = a + b + ( −b + c + d + e + f )ξ + ( −e − f + g + h )ξ 2 − hξ 3 , F (ξ ,1 − ξ ,ξ ) = a + c + (b − c + d + e + g )ξ + ( −e + f − g + h )ξ 2 − hξ 3 , F (ξ ,ξ ,1 − ξ ) = a + d + (b + c − d + f + g )ξ + (e − f − g + h )ξ 2 − hξ 3 , respectively, where
(1)
a = B1 , b = B2 − B1 , c = B4 − B1 , e = B3 + B1 − B2 − B4 , f = B6 = B1 − B2 − B5 , g = B8 + B1 − B4 − B5 , h = B7 + B5 + B4 + B2 − B1 − B3 − B6 − B8 and 0 ≤ ξ ≤ 1. Hence, on the diagonals the function is specified by the cubic equation. There is a possibility to find the coordinates ξ i of the three intersections with the diagonal of the surface.
TYPES OF INTERSECTIONS Possible subcases of the isosurface intersections with the cube diagonals are presented in the table 1. Table 1 Number of intersection
Subcase of intersection
Intricacy
0
0-1
Simple
2-1
Complex
2-2
Complex
1-1
Simple
3-1
Complex
3-2
Complex
3-3
Complex
2
1
3
The first three subcases belong to the diagonal that connects the nodes of the same sign. In the subcases 2-1, 1-1 and 3-1 the opposite diagonal nodes would be separated on the faces. In some other cases we would have the topological ambiguity and will not always have the correct point connection inside the cube.
TOPOLOGICAL AMBIGUITY In the majority of the extended lookup table cases it is sufficient to make the correct resolution of the ambiguities on the cube faces. But six cases would have the topological ambiguity. In five cases a funnel joints the area of the same sign on the opposite nodes of the diagonal. The sixth case is more complex by reason of changing the sign on the opposite nodes of the diagonal. If the point of the cube diagonals intersection lays inside of the funnel then the diagonal laying along it does not have the intersection with the isosurface (see fig. 4). Here, the problem of the topological ambiguity has a simple solution.
[case-a] Internal [case-b] Outside Figure 4. Point of diagonals intersection relatively the isosurface
In the second case, the point of the cube diagonals intersection lays outside the funnel. Then the diagonal laying along the funnel intersects the surface twice (subcase 2-2). But then, at least, one of the other diagonals does not intersect the isosurface. In general case, for resolving the topological ambiguity, we have to determinate which subcase of intersection the diagonal with the isosurface is realized. There are two sheeted surfaces inside the cube in the subcase 2-1. There is the funnel in the subcase 2-2 (see fig. 2). Therefore, the solution of the topological ambiguity problem is reduced to determinate a type of intersection of the diagonals with the isosurface and to choose the subcase 2-1 or 2-2 for two intersections and 3-1 or 3-2 one - for three intersections (see table 1). We will use a number of roots of the cubic equations (1) to make the right choice of the subcases. Table 2 Diagonal
B1-B7
B2-B8
B4-B6
B5-B3
Case #4 #6 #7 #10
Symmetrical
#12
Symmetrical
#13 In the table 2 we can see the signs of nodes for different cases from the base lookup table. The diagonals which have the topological ambiguity are marked by the gray outline. The cases #10 and #12 are the symmetrical one relatively the sign. And the topological ambiguity will take place along the two diagonals. The case #13 is more complex. Four diagonals can be ambiguous.
Table 3 Number of roots on the diagonals
#4 #6 #7 #10 #12 #13
1-7
2-8
4-6
5-3
2 0 2 2 1 1 2 0 2 2 3 1
0 2 1 1 1 1 0 2 1 1 1 1
0 2 0 2 1 1 2 0 2 0 1 1
0 2 0 0 2 0 0 2 1 1 1 1
Type of the surface Sheeted surface the funnel Sheeted surface the funnel1 sheeted surface the funnel sheeted surface the funnel sheeted surface the funnel sheeted surface the funnel
The cases indistinguishable on the faces are presented in the table 3. The number of roots on the diagonals that appoints the topologically correct case is marked as gray. It can be seen from this table that the choose between the sheeted surface and the funnel would be made by comparison the number of the roots on the grayed diagonals. The cases that have the topological ambiguity on the diagonals are shown in the Figure 5.
CONCLUSIONS In the presented work we propose a technique for choosing the right subcase from the extended lookup table by using the surface complexity criterion. This method is used for cases which have the topological (or internal) ambiguity. The different types of the isosurface intersections with the cube diagonals are investigated. The approach allows not only to approximate the topologically correct isosurface but to get the maximum accuracy shape of the surface.
REFERENCES 1.
2.
3.
1
Lorensen W.E. and Cline H.E., "Marching Cubes: A HighResolution 3D Surface Construction Algorithm", SIGGRAPH 87 Conference Proceedings,Computer Graphics, Vol. 21, No. 4, July 1987, pp.163-169. Matveyev S.V. "Approximation of Isosurface in the Marching Cube: Ambiguity Problem", Proceedings of Visualization'94, IEEE Computer Society Press, Washington DC, pp.288-292, October 1994., Natarajan B.K., "On generating topologically consistent isosurfaces from uniform samples", The Visual Computer, 11, pp.52-62, 1994
This case corresponds to [case-b] fig. 4
Figure 5 The cases with topological ambiguity
4. 5. 6.
Nielson G.M., Hamann B., "The Asymptotic Decider: Resolving the Ambiquity in Marching Cubes", Proceedings of Visualization '91, IEEE Computer Society Press, 1991, pp.83-90. Wilhelms J.,Van Gelder A., "Topological Considerations in Isosurface Generation Extended Abstract", Computer Graphics, Vol. 24, No. 5, pp.79-86, 1990 Wyvill G., McPheeters C. and Wyvil B, “Data structure for soft object”, The Visual Computer, 2, pp.227-234, 1986