Next Article in Journal
A Resource Extraction Model with Technology Adoption under Time Inconsistent Preferences
Previous Article in Journal
On the Diffuse Interface Models for High Codimension Dispersed Inclusions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Repair of Geological Models Based on Multiple Material Marching Cubes

1
School of Resources and Safety Engineering, Central South University, Changsha 410083, China
2
Research Center of Digital Mine, Central South University, Changsha 410083, China
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(18), 2207; https://doi.org/10.3390/math9182207
Submission received: 3 August 2021 / Revised: 2 September 2021 / Accepted: 6 September 2021 / Published: 8 September 2021

Abstract

:
In this paper, we present a multi-domain implicit surface reconstruction algorithm for geological modeling based on the labeling of voxel points. The improved algorithm sets a label for each voxel point to represent the type of its geological domain and then obtains all the voxel points in the void areas. After that, the improved algorithm modifies the labels of the voxel points in the void areas and finally reconstructs the geological models through the Multiple Material Marching Cubes (M3C) algorithm. The improved algorithm solves the problems of some unexpected overlaps and voids in geological modeling by setting and modifying the labels of the voxel points. Our key contribution is proposing a labeling processing method to repair the overlap and void defects generated in the geological modeling and realizing the improved M3C algorithm. The experimental results of some geological models show the performance of the improved method. Compared with the original method, the improved method can repair the overlap and void defects in geological modeling to ensure the raw structural adjacency relationships of the geological bodies.

1. Introduction

Using implicit functions to reconstruct smooth surfaces from given scattered data has been used in many disciplines, such as geology, mathematics, computer graphics, mining engineering, and biomedicine. In addition, the Marching Cubes (MC) [1] algorithm is a simple and most widely used implicit surface reconstruction algorithm. However, the original MC algorithm is usually applied to reconstruct a single domain model. When there is more than one domain to be modeled, multi-domain modeling technology is required. As an improvement of the MC algorithm, the M3C [2] algorithm can realize the multi-domain reconstruction of the model surface.
When geological modeling involves multiple geological models, the adjacency relationships between different models need to be considered. For the implicit modeling of the geological bodies, generally, one formation corresponds to an implicit function. Therefore, for multi-labeled implicit functions that represent multiple formations, the defects produced in the multi-domain implicit surface reconstruction need to be considered. If there are no overlaps or voids in the formation models represented by the multi-labeled implicit functions, the M3C algorithm can be used directly, and the reconstructed formation models can maintain the raw structural adjacency relationships. However, if overlaps and voids exist between the formation models represented by the multi-labeled implicit functions, overlaps and voids may occur when the model is reconstructed directly by the M3C algorithm.
If the multi-domain geological bodies are reconstructed one by one using the traditional single domain iso-surface extraction method, the common geological interfaces will be reconstructed many times, which leads to inconsistent triangulated meshes. Similarly, if a part of the common geological interface of two formations is defined by two different implicit functions, it may also lead to inconsistent interpolation results. This leads to the fact that in practical applications, the surfaces of multiple geological models cannot maintain the raw structural adjacency relationships; that is, overlaps and voids between the models may occur. The defects of overlaps and voids affect the accuracy of the models, and the reconstructed models do not conform to the raw structural adjacency relationships. Therefore, it is necessary to deal with this problem arising in the multi-domain implicit modeling of the geological bodies.
To solve the problem, we propose a multi-domain reconstruction algorithm based on the labeling of the voxel points. The improved algorithm sets a label for each voxel point in the study area to represent the type of its geological domain. Moreover, by setting labels, the overlaps can be repaired. In addition, the improved algorithm searches for the voxel points of all void areas and repairs the voids by modifying the labels of the void points in the reconstruction of multi-domain models. When the voxel labels are set and repaired, the M3C algorithm is used to reconstruct the models to maintain the raw structural adjacency relationships.
Our key contribution is proposing a multi-domain reconstruction algorithm based on the labeling of the voxel points. The improved algorithm can repair the defects of overlaps and voids between the multi-domain models in the geological modeling. At the same time, this paper is based on the M3C algorithm and improves it so that the reconstructed multi-domain models of the geological bodies conform to the raw structural adjacency relationships. The improved algorithm is simple in logic and easy to implement. Moreover, it provides a new idea for the reconstruction of the implicit surface of the multi-domain models.

Related Works

Houlding [3] first proposed the concept of 3D geological modeling in 1993. Since then, the theory of 3D geological modeling has been continuously developed. Three-dimensional modeling methods are roughly divided into two categories, which are explicit modeling and implicit modeling [4,5]. In the explicit modeling, the contour lines are drawn manually from geological exploration data, and then the contour lines are spliced to realize a 3D reconstruction of the geological bodies [6,7,8]. However, in the explicit modeling, the model cannot be updated automatically. While the implicit modeling [9,10] usually uses the implicit functions to express the geological bodies, which generates geological models automatically. Implicit modeling has gradually become a research hotspot because of its high automation. In fact, the two approaches are not opposed to each other, especially in the complex geological environment; the two methods are often used together to construct the model [11].
There are many interpolation function theories. Commonly used are the inverse distance weighted (IDW) interpolation method [12,13], the Kriging interpolation method [14,15,16], the moving least squares (MLS) interpolation method [17,18,19], and the radial basis functions interpolation method [20,21,22]. To compare the performance of interpolation functions, Franke [23] compared dozens of different interpolation algorithms in terms of parameters and modeling accuracy. Finally, he concluded that the radial basis functions have a better fitting effect. In this paper, we will take the radial basis functions as an example to implement the improved algorithm.
Lorensen and Cline first introduced the MC algorithm [1] in 1987, which quickly became a popular method in surface reconstruction due to its simplicity and efficiency. Subsequently, many scholars have improved the MC algorithm in terms of ambiguity, approximation accuracy, and processing efficiency. Dürst [24] pointed out that the algorithm has the problem of ambiguity on the surface, and there are many solutions to the problem, such as the marching tetrahedra method [25] and Nielson’s asymptotic method [26]. Natarajan [27] pointed out that even if there is no surface ambiguity, there might be ambiguity inside the voxel, which is called volume ambiguity. Natarajan introduced the concept of saddle points to deal with the volume ambiguity, while Chernyaev [28] proposed the generalized asymptote method to solve the problem. Many scholars have improved the approximation accuracy of the MC algorithm. For example, Lopes and Brodie [29] proposed the method of adding internal points, and Cignoni et al. [30] proposed the progressive grid extraction method. The methods to improve the processing efficiency of the MC algorithm have been proposed by many scholars, such as the octree method [31] of Wilhelms and Vangelder and the progressive growth method [32] of Bajaj et al., which increase the efficiency by shortening the processing time. In contrast, Schroeder’s decimation algorithm [33] improves the processing efficiency by reducing storage redundancy.
However, the MC algorithm and its improved algorithm can only reconstruct a single domain model, and the reconstruction of the multi-domain models requires the use of multi-domain reconstruction technology. Faraj et al. [34] proposed an iterative remeshing algorithm for multi-material tetrahedral meshes, which reconstructs the multi-material interfaces by developing an intermediate implicit feature complex structure. Based on the octree method, Zhang and Qian [35] use an indicator variable to identify the internal topological structure of each octree cell and resolve the problem of topology ambiguity in multi-domain reconstruction. Wu and Sullivan [2] proposed the M3C algorithm to extend the MC algorithm to a multi-domain reconstruction algorithm. Based on the M3C algorithm, we improve the M3C algorithm so that the reconstructed multi-domain models conform to the raw structural adjacency relationships of the geological bodies.

2. Overview of the Method

To reconstruct the implicit surface of the multi-labeled implicit functions, the M3C algorithm further summarizes all the basic configurations of the cube state (the connection relationship of the triangular patches) based on the MC algorithm. Finally, the M3C algorithm introduces some additional nodes to generate a topologically consistent multi-labeled triangular mesh to deal with the adjacency relationships between multiple subdomains in a single cube. Thus, the method provides a way to realize the multi-domain implicit surface reconstruction of the models. Based on the M3C algorithm, we intend to improve the reconstruction method of the multi-domain models and repair the multi-domain models by modifying the labels of voxel points. In this way, the raw structural adjacency relationships are maintained well between the multi-domain models, and there will be no overlaps or voids between the sub-domain models.
As shown in Figure 1a, there are overlaps and a void between the red and green models reconstructed by the original M3C algorithm, and the modeling priority of the red model is higher than the green. As shown in Figure 1a, the voxel points are divided into five categories, and we use different colors to distinguish different types of voxel points. Among them, the yellow and purple voxel points are ambiguous points; to be precise, the yellow points are overlapping points, and the purple points are void points. As shown in Figure 1b, the labels of the ambiguous voxel points are modified. Then the models are reconstructed using the M3C algorithm, and there will be no overlaps and voids between the reconstructed models.
The specific methods of modifying the labels of overlapping points and void points are different. As shown in Figure 1, for the overlapping voxel points (yellow points), modifying the labels of the overlapping points as the label of the model (red model) has the highest priority. While for the void voxel points (purple points), modifying the labels of the void points as the label of the model (green model) has the lowest priority. When the labels of the voxel points are modified, there are no overlaps and voids between the two models, the reconstructed models are shown in Figure 1b.
Based on the principles above, the improved algorithm is designed. The algorithm flow chart is shown in Figure 2:
Step 1: Interpolate the geological constraints constructed from the given geological sampling data and obtain the interpolated implicit functions based on the radial basis function interpolation method.
Step 2: Set a label for each voxel point to represent the type of its geological domain. Through the labeling of the voxel points, the overlapping defects between the multi-domain models are repaired.
Step 3: Search for void areas. Find the void areas, store the points of the voids, and store the labels of the geological models adjacent to the voids.
Step 4: Modify the labels of the void points. Modify the labels of the void points as the label of a specific geological model adjacent to the void.
Step 5: Use the M3C algorithm to reconstruct the multi-domain geological models.

3. The Multi-Domain Implicit Surface Reconstruction Method

3.1. Interpolate Multi-Labeled Implicit Functions

In the improved algorithm, geological bodies are placed in a voxelized space with a uniform size. To use the implicit functions to interpolate geological bodies, we establish a 3D coordinate system in the voxelized space, and each voxel point has an exact coordinate.
The geological body has a specific shape and volume, and a maximum bounding box will be artificially specified in the coordinate system during the modeling. The maximum bounding box is a 3D space containing all the geological models, in which all voxel points will participate in the algorithm. If the bounding box is too large, calculation time will be wasted; otherwise, if it is too small, part of the geological body will be missed. Users can adjust the parameters to obtain an appropriate maximum bounding box.
As shown in Figure 3, the areas in the maximum bounding box are divided into four types. The exterior area is outside the geological bodies and adjacent to the maximum bounding box. The interior area is just inside a specific geological body (including on the surface), and the overlapping area is inside multiple geological bodies. At the same time, the void area is outside the geological bodies and is wrapped by the geological bodies.
The geological domain where the geological bodies are located is regarded as a signed implicit function field. In general, the improved algorithm agrees that the function value of the point outside the geological body is positive; conversely, the value of the point inside the geological body is negative. The relationships between the geological domain where a single formation is located and the sign of the implicit function f x can be expressed as [36]:
f x = d i s t x , x = = 0 , x   i s   j u s t   o n   t h e   i n t e r f a c e   > 0 , x   i s   o u t s i d e   t h e   g e o l o g i c a l   b o d y       < 0 , x   i s   i n s i d e   t h e   g e o l o g i c a l   b o d y        
where x is an arbitrary point in the geological domain, x is the closest point of x on the implicit surface S , and d i s t x , x is the signed distance between x and x .
For the geological model containing l formations, a multi-labeled implicit function F x composed of some sub-functions f i x ,   i = 1 , 2 , , l representing l formations can be used to express the domain type of each formation. The subscript i is used to distinguish different formations.
The functions f i x are the interpolation functions of l formations. The subscript i represents the modeling priority. A higher priority of the formation model corresponds to a smaller i . i starts from 1 and increases sequentially. The function F x is used for labeling the voxel points, that is the value of F x represents the label of the point x . The relationships between F x and f x can be expressed as:
F x = m i n f ˜ i x
where
f ˜ i x = i ,         f i x 0 ,       f i x > 0  
The label of the voxel point x is determined by the value of F x . In this paper, we agreed that any one voxel point belongs to a kind of formation. Therefore, the value of F x corresponds to a unique label. In the overlapping area, for the point x , there are multiple stratigraphic functions with f i x 0 , and thus there are multiple values of f ˜ i x , but F x takes the smallest one. While in the void area and the exterior area, the point x does not belong to any formations and the value of F x is .
In this paper, the radial basis function is taken as an example to model the geological bodies implicitly. After using the radial basis function interpolation for the geological bodies, a set of multi-labeled implicit functions representing the domain types of the geological bodies are obtained; and the labels of the set of implicit functions have a one-to-one correspondence with the labels of the geological bodies. Then the sign of the corresponding function values can judge the internal and external relationships between the voxel points and the geological models directly.

3.2. Label the Voxel Points

The label is an essential concept of the improved algorithm. In this paper, the labels of geological bodies, interpolation functions, and voxel points are consistent. In fact, the labeling of voxel points is to first “divide” the geological bodies into voxel points and then set labels for the voxel points so that these points can be “combined” into geological bodies later. When the models are reconstructed by the M3C algorithm, the voxel points with the same label are reconstructed into the same geological body. Therefore, by modifying the labels of the ambiguous voxel points as the label of a specific geological body, the overlaps and voids can be repaired.
The priority of geological bodies in multi-domain modeling is different. The reason for the difference is related to the reliability of obtaining the geological data. The reliability is determined by geological engineers according to prior geological rules; thus it generally conforms to the actual situation. The higher the reliability of the geological model is, the higher the priority of the geological model is. Thus, if the priority of a certain geological body is higher than others, the integrity of the geological body with a higher priority should be considered in priority.
According to the sign of the function value of the voxel point p , the internal and external relationships between p and the geological bodies can be judged; and according to the value of the multi-labeled function F p , a label can be set for the voxel point p . If the voxel point p is in a geological body (including on the surface), then a label consistent with the label of the geological body is set for p . On the other hand, if the voxel point p is outside the geological bodies ( p is in the exterior area or void area), then set the label of p to . If the voxel point p is inside multiple geological bodies, the label of the geological body with the highest modeling priority among these geological bodies is used as the label of p .
As shown in Figure 4, the general method to set labels for voxel points is shown. In Figure 4, the priority of the red model is higher than the green. Therefore, according to the priority, the label of the red model is set to 1, and the label of the green model is set to 2.
As shown in Figure 4a, the label of the red model is 1, and its interpolation function is f 1 , and the labels of all voxel points inside the red model are set to 1; the setting method of the labels for the green model is similar to the red. The labels of the voxel points in the exterior area are set to . Generally speaking, the labels of the voxel points correspond to both the labels of the geological bodies and the subscripts of the interpolation functions.
As shown in Figure 4b, for the overlapping points, the labels have been set to the label of the geological body with the highest modeling priority. For the void points, the labels have been set temporarily to .
Setting labels for the voxel points in this way can repair the overlapping defects of the multi-domain model. As shown in Figure 5, in the labeling of the voxel points, the labels of the overlapping points are set to the label of the geological body with the highest priority. As a result, the overlapping area will be classified as the geological body with the highest priority after reconstruction with the M3C algorithm. In this way, the approach ensures the integrity of the geological model with higher priority. As shown in Figure 5b,c, different modeling results are shown when the priority is reversed.
The pseudo-code of the algorithm flow for labeling the voxel points is shown in Algorithm 1 (label the voxel points).
Algorithm 1: Label the voxel points
Mathematics 09 02207 i001

3.3. Search for Void Voxel Points

The labeling process sets labels for all the voxel points, which repairs the defects of overlaps. However, the voids may still exist, which does not conform to the geological rules. We need to repair the voids.

3.3.1. Search for Seed Points

To find all the void areas, we need to find the seed points first. The seed point x is the first point in the void area or the exterior area obtained in the traversal process. The reason why the first point of the void area or the exterior area is selected as the seed point is that all the points inside the void area and the exterior area have the same label . The algorithm can only search out the void area and the exterior area together based on the label but cannot find the void area separately. If a seed point is found, the corresponding area containing the seed point can be found directly by traversing. The specific steps are as follows:
(1)
The initial state of all the voxel points is set as unvisited. Assuming that a point p is obtained in the traversal process, then the state of p is modified to visited. We define a variable M a r k p to represent the visited state of point p . If M a r k p   = 0, then point p is unvisited; if M a r k p = 1, then p is visited.
(2)
The traversal process starts from the first voxel points in the maximum bounding box. If a point p has been visited in the traversal process, then skip p .
(3)
Before proceeding to the specific steps, we first define two arrays V k , L a , k , and a queue Q k . V k is used to store the quasi-void points, including the exterior points and the void points. L a , k is used to store the labels of the voids and the geological bodies adjacent to the quasi-void area. Q k is used to perform a greedy search and obtain the quasi-void points based on the seed points.
For the unvisited point p , modify the state of p as visited, then judge whether the label of p is .
If the label of p is , store p in the array V k ( k = 1 , 2 , 3 ,) and store the label of p in the array L a , k ( k = 1 , 2 , 3 ,). At the same time, p is selected as a seed point and stored in the queue Q k ( k = 1 , 2 , 3 , ). The k here is used to record the quasi-void areas, and each quasi-void area corresponds to a specific k .
Otherwise, if the label of p is not , then skip p .

3.3.2. Search for Void Voxel Points

In this paper, a greedy search strategy is used to obtain the quasi-void areas. When the seed point is found, the corresponding quasi-void area will also be found. Generally, a quasi-void area corresponds to a specific seed point. However, the seed point is the first point with a label obtained in the traversal process. Therefore, the seed point may correspond to the void area or the exterior area; we need to distinguish the two areas.
First, the improved algorithm needs to find the seed point in the process of traversal. For the seed point p , obtain six points adjacent to p (top, bottom, left, right, front, and back). For the six adjacent points, take the points with the label as search points, and continue to obtain the six adjacent points of each search point. In the process of obtaining the six adjacent points of each search point, the points with the label among the six adjacent points are regarded as new search points. The process is to continuously obtain new search points and then continuously obtain six points adjacent to each new search point until no new search points can be obtained. At the same time, record all the search points in the process, they are the points in the quasi-void areas. Furthermore, record the labels that are not in the process, as they are the labels of the geological bodies that are adjacent to the quasi-voids. The strategy for obtaining the search points is shown in Figure 6.
After finding a quasi-void area, continue to search for the next seed point. In the process of searching for new seed points, skip the points obtained in the last search for the last quasi-void area. After finding a new seed point, obtain a new quasi-void area in the same way. The search for seed points and the search for the corresponding quasi-void areas are repeated until all quasi-void areas are obtained.
Based on the characteristics of the above process, the queue Q k is used to store the search points. In the improved algorithm, the seed point is pushed into Q k as the head element; and in subsequent operations, other search points will be pushed to the end of Q k . The elements in Q k are dynamic and sequential, the traversal order is from the head to the end of Q k in turn. Each time the head element of Q k will be searched for its six adjacent points (top, bottom, left, right, front, and back), then the element at the head of Q k is popped from Q k , and the new search points are pushed to the end of Q k in the order of obtaining them. As long as there are elements in Q k , the search for six points adjacent to the head element will continue until Q k is empty. Because the areas inside the maximum bounding box are limited, the searching process will not go on indefinitely. When a quasi-void area is searched out, the elements in Q k will be empty, and the corresponding search operation will be terminated.
The specific steps are as follows:
(1)
For the head element p of Q k (the first head element is the seed point), obtain its six adjacent points p ˜ 1 ,   p ˜ 2 , p ˜ 3 , p ˜ 4 , p ˜ 5 , p ˜ 6 , for each point p ˜ i i = 1 , 2 , 3 , 4 , 5 , 6 , judge whether p ˜ i exceeds the maximum bounding box.
(2)
For the point p ˜ i that exceeds the maximum bounding box, store 0 in L a , k . The purpose of this step is to determine whether the quasi-void area is a void area or an exterior area. The exterior area is adjacent to the maximum bounding box, so if there is a point of p ˜ i that exceeds the maximum bounding box, it means that the quasi-void area is an exterior area rather than a void area.
(3)
For the point p ˜ i that does not exceed the maximum bounding box, perform the following steps.
For the unvisited point p ˜ i , modify the state of p ˜ i as visited. If the label of p ˜ i is , store p ˜ i in V k and push p ˜ i to the end of Q k in turn. This is to store the point p ˜ i and use p ˜ i as a new search point. If the label of p ˜ i is not , it means that p ˜ i is inside the geological body adjacent to the quasi-void area. The label of p ˜ i is stored in L a , k , the purpose is to record the label of the geological body adjacent to the quasi-void area.
For the visited point p ˜ i , if the label of p ˜ i is , then skip p ˜ i . If the label of p ˜ i is not , then the label of p ˜ i is stored in L a , k . The purpose of this is to obtain the labels of the geological bodies adjacent to the quasi-void areas.
(4)
After searching the six adjacent points of the head element p in Q k , pop p from Q k .
Algorithm 2: Search for the Void Voxel Points
Mathematics 09 02207 i002
(5)
Perform steps (1), (2), (3), and (4) for the new head element of Q k . Repeat the process until the elements in Q k are empty. At this time, the points inside the quasi-void area will be obtained.
(6)
Continue to search for the next seed point, and perform steps (1), (2), (3), (4), and (5) in sequence until no new seed points can be found. At this time, the search for all quasi-void areas is completed.
The pseudo-code of the algorithm flow for searching for the quasi-void voxel points is shown in Algorithm 2 (search for the void voxel points).

3.4. Modify Voxel Point Labels

When the whole searching process is over, the elements in V k are points of the quasi-void areas; L a , k stores the labels, including the label 0, and the labels of the geological bodies adjacent to the quasi-void areas. If there is a label 0 in L a , k , it indicates that the corresponding quasi-void area is the external area rather than the void area. The labels of the points in the external area do not need to be modified, while the labels of the points in the void area need to be modified.
The modification strategy is to modify the labels of the void points as the labels of the lowest priority of the geological body adjacent to the voids. It ensures the integrity of the geological body with the highest priority. The void areas are classified as part of the geological bodies with the lowest priority so that the voids have an exact attribution.
As shown in Figure 7, the priority of the red model is higher than the green, so the label of the red geological body is 1, and the label of the green geological body is 2. In Figure 7a, the labels of void points are , while in Figure 7b, the labels of the void points are modified as 2, which is the label with the lowest priority in the area adjacent to the void. When the labels are modified, then the M3C algorithm is used to reconstruct the models directly. The repaired models are shown in Figure 7c. As we can see, the void has been repaired.
The specific steps to modify the voxel point labels are as follows:
(1)
If L a , k contains 0, the points in V k are in exterior areas, and the labels of the points in V k do not need to be modified.
(2)
If L a , k does not contain 0, the points in V k are in void areas. Modify the labels of the points in V k as the largest integer ( is not included) in L a , k , that is, the labels of the geological body with the lowest priority.

3.5. Reconstruct and Repair the Model

The vertices of the multi-labeled mesh may have multiple labels, and the model of a certain formation can be extracted from the multi-labeled mesh. According to the needs of users, the model of a specified formation can be extracted from the multi-labeled mesh according to a specific label.
However, after the priority order of the geological model is specified, the labels of the vertices are uniquely determined, and the algorithm will reconstruct the multi-domain model according to the established priority order. Users can specify different colors to represent the mesh of each label to distinguish different formations.
After the labels of the voxel points are set and repaired, the geological model is reconstructed using the M3C algorithm; please refer to [2] for the specific method of the M3C algorithm, which will not be further discussed here.
The pseudo-code of the algorithm flow for modifying voxel point labels and reconstruct the model is shown in Algorithm 3 (modify voxel point labels and reconstruct the model).
Algorithm 3: Modify Voxel Point Labels and Reconstruct the Model
Mathematics 09 02207 i003

4. Results

We implemented the improved algorithm in C++ and tested it on a Windows 64-bit PC with 3.80 GHz Intel(R) Core(TM) i7-10700K and 32 GB RAM. The three experiments shown in Figure 8, Figure 9 and Figure 10 are the results of the test. Table 1, Table 2 and Table 3 record the modeling time and the constraints of the three experiments. Among them, the voxel size is specified by the user, representing the accuracy of modeling. By changing the size, models with different accuracy can be obtained. Actually speaking, the smaller the voxel size, the more accurate the model and the greater the number of voxel points. In order to maximize the efficiency of the algorithm, an appropriate voxel size needs to be used. At the same time, the constraint points are the interpolation points used to obtain the interpolation functions.
Figure 8a,b are the appearances of the two-formation geological models. It can be seen from the appearance of the two models that there is no apparent difference in the appearance of the two models, which indicates that the improved algorithm will not significantly change the appearance of the models but only repair the overlaps and voids inside the models. Figure 8d,g shows the voids in the model reconstructed by the original M3C algorithm. As shown in Figure 8e,h, after using the improved algorithm, the voids in the geological bodies are repaired.
Through the comparison of the modeling time, it can be seen that the process of modifying the voxel labels is efficient. Table 1 shows the comparison of some parameters between the original M3C algorithm and the improved algorithm. When the constraint points and the voxel size (i.e., modeling accuracy) are the same, the improved algorithm consumes about 12% more time than the original M3C algorithm in this case.
Figure 9 shows the number of voxel points for the two-formation geological body (Figure 8) when the voxel size changes. For Figure 9, as the size of the voxel points increases, the number of voxel points decreases significantly. However, the relationship is not linear. Assuming that the length of the x-axis, y-axis, and z-axis of the maximum bounding box are l 1 , l 2 , and l 3 , respectively, and the size of the voxel is d v o x , then the number of voxel points is N 2 = l 1 / d l o x + 1   l 2 / d v o x + 1   l 3 / d v o x + 1 . It can be seen that N 2 is in an approximate inverse cubic relationship with d v o x .
Figure 10 shows the computational time for the two-formation geological body (Figure 8) when the voxel size changes. Without considering the acceleration of the estimation speed, the calculation complexity of a voxel point function value is O n , where n is the number of the constraint points, and the calculation complexity of m voxel points is O m n . Assuming that the length of the x-axis, y-axis, and z-axis of the maximum bounding box are l 1 , l 2 , and l 3 , respectively, and the size of the voxel is d v o x , then the calculation complexity of m voxel points is O   n l 1 / d v o x + 1   l 2 / d v o x + 1   l 3 / d v o x + 1 .
Figure 11 shows the percentages of point-modified labels for the two-formation geological body (Figure 8) when the voxel size changes. It can be seen that the percentage of points modified labels is very small, which is useful to preserve the original model shape. In general, the proportion of modified voxel points becomes stable when the voxel size is small enough.
The experiment shown in Figure 12 is a three-formation model. For a three-formation geological body, the improved algorithm can still repair the void defects. It can be seen from Table 2 that when the constraint points and the voxel size are the same, the modeling time of the improved algorithm is about 13% higher than that of the original M3C algorithm.
Figure 13 is the model of a four-formation geological body. It can be seen from the model slices in Figure 13e,h that the improved algorithm fixes the voids in the model. The modeling time of the improved algorithm is about 16% higher than that of the original M3C.
The three groups of experiments from Figure 11, Figure 12 and Figure 13 verify the multi-domain modeling effect of the improved algorithm. It can be found that when the functions of the geological bodies are defective or the common interfaces of the geological bodies are reconstructed many times, there may be overlaps and voids in the models directly reconstructed by the M3C algorithm. After using the improved algorithm, the overlaps and voids are repaired, and the interfaces of the formations are kept in good adjacency. Moreover, it can be seen from the statistics of the modeling time that the process of repairing voxel point labels is efficient.

5. Conclusions and Discussion

Based on the M3C algorithm, this paper improves it so that the improved algorithm can deal with the defects of overlaps and voids in the process of multi-domain reconstruction of the geological models. In this paper, we label the voxel points and modify the labels of overlapping and void points, and then models reconstructed by the M3C algorithm maintain the raw structural adjacency relationships.
However, the improved algorithm still needs to be further improved. First of all, the algorithm is currently only applicable to the smooth surface reconstruction of the geological models. From the modeling results, the detailed features of the model surface cannot be guaranteed. The model is easy to remove sharp features, there are stair-stepped characteristics on the surface, and there are ring marks on the surface of the model. The stair-stepped characteristics are because the models are not smooth enough, but the models cannot be smoothed too much; otherwise, the models will change a lot. The extended marching cubes (EMC) algorithm [37], which takes sharp features into account, can be used for reference to ensure the sharp features of the models. Alternatively, the use of linear interpolation for the cubes instead of introducing intermediate nodes at the midpoint, face center, and body center of the cubes could make the model smoother, thereby reducing the stair-stepped characteristics in the modeling process.
Secondly, the processing method of the overlapping and void areas can be further optimized. The processing idea of the improved algorithm is to classify the total overlap or void areas to a certain geological body. However, for the classification method, there can be better interfaced fitting methods, such as dividing the overlaps and voids into multiple sub-regions and then discussing the attribution of each sub-region.
Finally, the modeling efficiency of the improved method needs to be improved. The improved algorithm occupies a large amount of computer memory, and the modeling efficiency of the improved algorithm needs to be improved in the future. On the one hand, it can be considered to improve the efficiency of surface reconstruction through parallel computing. On the other hand, the number of voxel points involved in the calculation can be reduced through the surface tracking method. For example, the MC algorithm based on the voxel growing method [38] can improve the efficiency of the surface reconstruction.

Author Contributions

B.L., D.Z., and L.W. conceived, designed, and performed the experiments; D.Z. analyzed the data and revised the methodology; B.L. wrote the paper; all authors discussed the results and revised the paper. All authors have read and agreed to the published version of the manuscript.

Funding

This work was financially supported by the National Key R&D Program of China (2017YFC0602905).

Data Availability Statement

Not applicable.

Acknowledgments

Thanks to the public datasets used in this research. We also thank the reviewers for their comments and suggestions to improve the quality of the paper.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, and in the decision to publish the results.

References

  1. Lorensen, W.E.; Cline, H.E. Marching cubes: A high resolution 3d surface construction algorithm. ACM Siggraph Comput. Graph. 1987, 21, 163–169. [Google Scholar] [CrossRef]
  2. Wu, Z.; Sullivan, J.M., Jr. Multiple material marching cubes algorithm. Int. J. Numer. Methods Eng. 2010, 58, 189–207. [Google Scholar] [CrossRef]
  3. Houlding, S.W. 3D Geoscience Modeling: 1994. Available online: https://www.springer.com/gp/book/9783642790140 (accessed on 7 May 2021).
  4. Cowan, E.J.; Beatson, R.K.; Fright, W.R.; Mclennan, T.J.; Mitchell, T.J. Rapid geological modelling. In Proceedings of the Applied Structural Geology for Mineral Exploration and Mining, International Symposium, Kalgorlie, Australia, 23–25 September 2002. [Google Scholar]
  5. Cowan, E.J.; Beatson, R.K.; Ross, H.J.; Fright, W.R.; McLennan, T.J.; Evans, T.R.; Carr, J.C.; Lane, R.G.; Bright, D.V.; Gillman, A.J. Practical implicit geological modelling. In Proceedings of the Fifth International Mining Geology Conference, Bendigo, Australia, 17–19 November 2003; pp. 89–99. [Google Scholar]
  6. Turner, A.K. Three-Dimensional Modeling with Geoscientific Information Systems; Kluwer Academic Publishers: Dordrecht, The Netherlands, 1992. [Google Scholar]
  7. Qiao, J.; Mao, P.; Li, Z.; Yi, J. 3D geological modeling from dem, boreholes, cross-sections and geological maps. In Proceedings of the International Conference on Geoinformatics, Shanghai, China, 24–26 June 2011; pp. 1–5. [Google Scholar]
  8. Zanchi, A.; Francesca, S.; Stefano, Z.; Simone, S.; Graziano, G. 3D reconstruction of complex geological bodies: Examples from the alps. Comput. Geosci. 2009, 35, 49–69. [Google Scholar] [CrossRef]
  9. Jin, X.; Tai, C.-L.; Zhang, H. Implicit modeling from polygon soup using convolution. Vis. Comput. 2008, 25, 279–288. [Google Scholar] [CrossRef]
  10. Hornus, S.; Angelidis, A.; Cani, M.-P. Implicit modeling using subdivision curves. Vis. Comput. 2003, 19, 94–104. [Google Scholar] [CrossRef]
  11. Guo, J.; Wang, J.; Wu, L.; Liu, C.; Li, C.; Li, F.; Lin, M.; Jessell, M.W.; Li, P.; Dai, X.; et al. Explicit-implicit-integrated 3-D geological modelling approach: A case study of the xianyan demolition volcano (Fujian, China). Tectonophysics 2020, 795, 228648. [Google Scholar] [CrossRef]
  12. Mueller, T.G.; Dhanikonda, S.R.K.; Pusuluri, N.B.; Karathanasis, A.D.; Mathias, K.K.; Mijatovic, B.; Sears, B.G. Optimizing inverse distance weighted interpolation with cross-validation. Soil Sci. 2005, 170, 504–515. [Google Scholar] [CrossRef]
  13. Lu, G.Y.; Wong, D.W. An adaptive inverse-distance weighting spatial interpolation technique. Comput. Geosci. 2008, 34, 1044–1055. [Google Scholar] [CrossRef]
  14. Xiao, M.; Zhang, G.; Breitkopf, P.; Villon, P.; Zhang, W. Extended co-kriging interpolation method based on multi-fidelity data. Appl. Math. Comput. 2018, 323, 120–131. [Google Scholar] [CrossRef]
  15. Matheron, G. Principles of geostatistics. Econ. Geol. 1963, 58, 1246–1266. [Google Scholar] [CrossRef]
  16. Caballero, W.; Giraldo, R.; Mateu, J. A universal kriging approach for spatial functional data. Stoch. Environ. Res. Risk Assess. 2013, 27, 1553–1563. [Google Scholar] [CrossRef]
  17. Salkauskas, P.L. Surfaces generated by moving least squares methods. Math. Compt. 1981, 37, 141–158. [Google Scholar]
  18. Rathi, A.K.; Chakraborty, A. Improved moving least square-based multiple dimension decomposition (mdd) technique for structural reliability analysis. Int. J. Comput. Methods 2020, 18, 2050024. [Google Scholar] [CrossRef]
  19. Gross, B.J.; Trask, N.; Kuberry, P.; Atzberger, P.J. Meshfree methods on manifolds for hydrodynamic flows on curved surfaces: A generalized moving least-squares (gmls) approach. J. Comput. Phys. 2020, 409, 109340. [Google Scholar] [CrossRef] [Green Version]
  20. Skala, V. Rbf interpolation with csrbf of large data sets. Procedia Comput. Sci. 2017, 108, 2433–2437. [Google Scholar] [CrossRef]
  21. Park, J.; Sandberg, I. Universal approximation using radial-basis-function networks. Neural Comput. 2014, 3, 246–257. [Google Scholar] [CrossRef]
  22. Cuomo, S.; Galletti, A.; Giunta, G.; Marcellino, L. Reconstruction of implicit curves and surfaces via rbf interpolation. Appl. Numer. Math. 2017, 116, 157–171. [Google Scholar] [CrossRef]
  23. Franke, B.R. Scattered data interpolation: Tests of some methods. Math. Comput. 1982, 38, 181–200. [Google Scholar]
  24. Durst, M.J. Letters: Additional reference to marching cubes. Comput. Graph. 1988, 22, 243. [Google Scholar] [CrossRef]
  25. Oh, S.; Koo, B.K. Data perturbation for fewer triangles in marching tetrahedra. Graph. Models 2007, 69, 211–218. [Google Scholar] [CrossRef]
  26. Nielson, G. In the asymptonic decider: Resolving the ambiguity in marching cubes. In Proceedings of the IEEE Visualization, San Diego, CA, USA, 22–25 October 1991. [Google Scholar]
  27. Natarajan, B.K. On generating topologically consistent isosurfaces from uniform samples. Vis. Comput. 1994, 11, 52–62. [Google Scholar] [CrossRef]
  28. Chernyaev, E.V. Marching Cubes 33: Construction of Topologically Correct Isosurfaces. 1996. Available online: https://www.researchgate.net/publication/2651412 (accessed on 7 May 2021).
  29. Lopes, A.; Brodlie, K. Accuracy in contour drawing. In Eurographics UK; University of Leeds: Woodhouse, UK, 1998; pp. 301–311. [Google Scholar]
  30. Cignoni, P.; Ganovelli, F.; Montani, C.; Scopigno, R. Reconstruction of topologically correct and adaptive trilinear isosurfaces—Sciencedirect. Comput. Graph. 2000, 24, 399–418. [Google Scholar] [CrossRef]
  31. Wilhelms, J.; Gelder, A.V. Octrees for faster isosurface generation. Acm Trans. Graph. 1990, 24, 57–62. [Google Scholar]
  32. Bajaj, C.L.; Pascucci, V.; Schikore, D.R. Fast isocontouring for improved interactivity. In Proceedings of the 1996 Symposium on Volume Visualization, San Francisco, CA, USA, 28–29 October 1996; IEEE: Piscataway, NJ, USA, 2001; pp. 39–46. [Google Scholar]
  33. Schroeder, W.J.; Zarge, J.A.; Lorensen, W.E. Decimation of triangle meshes. Acm Siggraph Comput. Graph. 1992, 26, 65–70. [Google Scholar] [CrossRef]
  34. Faraj, N.; Thiery, J.-M.; Boubekeur, T. Multi-material adaptive volume remesher. Comput. Graph. 2016, 58, 150–160. [Google Scholar] [CrossRef]
  35. Zhang, Y.; Qian, J. Resolving topology ambiguity for multiple-material domains. Comput. Methods Appl. Mech. Eng. 2012, 247–248, 166–178. [Google Scholar] [CrossRef]
  36. Zhong, D.Y.; Wang, L.G.; Bi, L. Implicit surface reconstruction based on generalized radial basis functions interpolant with distinct constraints. Appl. Math Model. 2019, 71, 408–420. [Google Scholar] [CrossRef]
  37. Congote, J.; Moreno, A.; Barandiaran, I.; Barandiaran, J.; Ruiz, O. Extending marching cubes with adaptative methods to obtain more accurate iso-surfaces. In Computer Vision, Imaging and Computer Graphics: Theory and Applications; Ranchordas, A.K., Pereira, J.M., Araujo, H.J., Tavares, J., Eds.; Springer: Berlin, Germany, 2010; Volume 68, p. 35. [Google Scholar]
  38. Zhong, D.Y.; Zhang, J.; Wang, L.G. Fast implicit surface reconstruction for the radial basis functions interpolant. Appl. Sci. 2019, 9, 5335. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Schematic diagram of model repair. (a) Original voxel points. (b) Repaired voxel points.
Figure 1. Schematic diagram of model repair. (a) Original voxel points. (b) Repaired voxel points.
Mathematics 09 02207 g001
Figure 2. Overall flow chart.
Figure 2. Overall flow chart.
Mathematics 09 02207 g002
Figure 3. According to the inside and outside relationships of the models, it can be divided into internal and external areas, and according to the ambiguity, it can be divided into overlapping and void areas.
Figure 3. According to the inside and outside relationships of the models, it can be divided into internal and external areas, and according to the ambiguity, it can be divided into overlapping and void areas.
Mathematics 09 02207 g003
Figure 4. Set the labels of voxel points. (a) Labels of the general voxel points. (b) Labels of the ambiguous voxel points.
Figure 4. Set the labels of voxel points. (a) Labels of the general voxel points. (b) Labels of the ambiguous voxel points.
Mathematics 09 02207 g004
Figure 5. Strategies for repairing overlapping defects. (a) Original two geological bodies. (b) Red model with a higher priority. (c) Green model with a higher priority.
Figure 5. Strategies for repairing overlapping defects. (a) Original two geological bodies. (b) Red model with a higher priority. (c) Green model with a higher priority.
Mathematics 09 02207 g005
Figure 6. Strategy for obtaining the search points. (a) Obtain the seed point. (b) Obtain the adjacent points of the seed point and find search points. (c) Obtain the adjacent points of each search point and find new search points.
Figure 6. Strategy for obtaining the search points. (a) Obtain the seed point. (b) Obtain the adjacent points of the seed point and find search points. (c) Obtain the adjacent points of each search point and find new search points.
Mathematics 09 02207 g006
Figure 7. Modify voxel point labels. (a) Labels of the void points. (b) Modify the labels of the void points. (c) Reconstruct the models.
Figure 7. Modify voxel point labels. (a) Labels of the void points. (b) Modify the labels of the void points. (c) Reconstruct the models.
Mathematics 09 02207 g007
Figure 8. Two-formation geological body.
Figure 8. Two-formation geological body.
Mathematics 09 02207 g008
Figure 9. The relationship between the number of voxel points and the voxel size.
Figure 9. The relationship between the number of voxel points and the voxel size.
Mathematics 09 02207 g009
Figure 10. The relationship between the computational time and the voxel size.
Figure 10. The relationship between the computational time and the voxel size.
Mathematics 09 02207 g010
Figure 11. The relationship between the percentages of points modified labels and the voxel size.
Figure 11. The relationship between the percentages of points modified labels and the voxel size.
Mathematics 09 02207 g011
Figure 12. Three-formation geological body.
Figure 12. Three-formation geological body.
Mathematics 09 02207 g012
Figure 13. Four-formation geological body.
Figure 13. Four-formation geological body.
Mathematics 09 02207 g013
Table 1. The two-formation geological body statistics table. N1 is the number of the constraint points, N2 is the number of the voxel points of the models, N3 is the number of the voxel points that change their labels, and d v o x is the voxel size.
Table 1. The two-formation geological body statistics table. N1 is the number of the constraint points, N2 is the number of the voxel points of the models, N3 is the number of the voxel points that change their labels, and d v o x is the voxel size.
FormationColorN1N2N3 d v o x   ( m )   Time (s)
Original M3CRepaired
1F 1green1290695,02089050.9768.1275.96
2F 2red
Table 2. The three-formation geological body statistics table. N1 is the number of the constraint points, N2 is the number of the voxel points of the models, N3 is the number of the voxel points that change their labels, and d v o x is the voxel size.
Table 2. The three-formation geological body statistics table. N1 is the number of the constraint points, N2 is the number of the voxel points of the models, N3 is the number of the voxel points that change their labels, and d v o x is the voxel size.
FormationColorN1N2N3 d v o x   ( m )   Time (s)
Original M3CRepaired
1F 1purple9971,450,80070731.6110.35124.62
2F 2green
3F 3red
Table 3. The four-formation geological body statistics table. N1 is the number of the constraint points, N2 is the number of the voxel points of the models, N3 is the number of the voxel points that change their labels, and d v o x is the voxel size.
Table 3. The four-formation geological body statistics table. N1 is the number of the constraint points, N2 is the number of the voxel points of the models, N3 is the number of the voxel points that change their labels, and d v o x is the voxel size.
FormationColorN1N2N3 d v o x   ( m ) Time (s)
Original M3CRepaired
1F 1red963350,88019891127.8732.34
2F 2green
3F 3blue
4F 4purple
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Li, B.; Zhong, D.; Wang, L. Repair of Geological Models Based on Multiple Material Marching Cubes. Mathematics 2021, 9, 2207. https://doi.org/10.3390/math9182207

AMA Style

Li B, Zhong D, Wang L. Repair of Geological Models Based on Multiple Material Marching Cubes. Mathematics. 2021; 9(18):2207. https://doi.org/10.3390/math9182207

Chicago/Turabian Style

Li, Benyu, Deyun Zhong, and Liguan Wang. 2021. "Repair of Geological Models Based on Multiple Material Marching Cubes" Mathematics 9, no. 18: 2207. https://doi.org/10.3390/math9182207

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop