Introduction

3D geological modeling has become a powerful tool to help understand geological structures and is very widely discussed in engineering geology, oil exploration, mining, and other fields. Some valuable achievements have been obtained in the past ten years (Pinto et al. 2002; Jia et al. 2002; Alan and Norman 2003; Sprague and de Kemp 2005; Wu et al. 2005; Zhong et al. 2006; Pringle et al. 2006; Turner 2006).

Alan and Norman(2003) built solid models from boreholes and user-defined cross-sections by interpolating the elevation data of the stratigraphic contacts in boreholes. Zhang and Liu (2003) introduced an idea for constructing a 3D geological model based on TIN by building a multi-layer DEM surface model and realized the design with OpenGL and Visual C++. Many other methods, such as Discrete Spatial Interpolation (DSI, e.g., Marcus 2001), have been used to build 3D geological models and numerous commercial software packages are available, e.g., Maptek’s Vulcan, Midland Valley’s 3D Move, and Schlumberger’s Petrel. Douglas et al. (2007) used GOCAD to model the Gosau Muttekopf Basin (Eastern Alps, Austria) and Karsten et al. (2008) used IES Petromod to reconstruct the Mackenzie Basin (Canada) based on seismic and well data.

Data preparation and data processing for modeling using commercial software packages are challenging and time-consuming. Although most of these commercial software packages provide interactive operations, such as zooming in or out, rotating, etc., they only can be realized in their original software environment hence although in theory they can be used for the analysis of complex/regional geology analysis (e.g., the prediction of petroleum reservoirs), they are less useful for 3D geological modeling of a small area, due to both their complex operation and high price.

3D Studio Max (3DSMax), which is widely used for 3D modeling and animation in television advertising design, is a very popular software package which provides useful tools and a visualized environment. However, it does not have a function to create a precise stratum surface and interactive operation can only be realized in the original software environment. In this study, therefore, two commercial software packages will be used to build a 3D geological model.

ArcGIS, one of the most commonly used software platforms for Geographic Information System (GIS), can display stratigraphic units spatially. VRML is an international standard 3D modeling language, and the models created by VRML can be shown and interactively operated through Internet Explorer.

This paper describes how to build a 3D geological model by integration of the above three software packages: the Paradigm/Earth Decision’s GOCAD software (Douglas et al. 2007), ArcGIS and VRML. Although the operation of the individual packages may be challenging, this approach uses only a few simple functions from each, making the modeling process easier and more efficient.

Method for constructing simple stratum model

Displacement

In this approach, displacement is the key function of 3DSMax for building a geological model. The box which is created in 3DSMax is composed of six surfaces, which are collections of individual faces, typically quadrilaterals or triangles. Each face is called a grid cell (Fig. 1a). Initially, the elevations of the grid cells in each surface are the same. Displacement is a function to change the morphology of the surface by referencing the grey value of a grey scale-image, called the displacement image. In this process, each grid cell of the surface is associated with a pixel of the grey-scale image, as shown in Fig. 1b. After executing the displacement function in 3DSMax, the elevation of each grid cell of the surface will be changed according to the pixel’s grey value.

Fig. 1
figure 1

Deforming surface by displacement: a grey-scale map from interpolating borehole data, b original box created in 3DSMax before displacement, c box after displacement

Strength is an important parameter in the displacement process. If the grey value of the pixel associated with the grid cell of the surface equals 255, the elevation of this cell will change to the Strength value, and if the grey value equals 0, the elevation of the cell will not change. Elevations of other grid cells will change in a range of 0 to the Strength value. If the two grey-scale images representing the top surface and the bottom surface of a stratigraphic unit can be obtained, a solid model of this stratigraphic unit is available. Figure 1c shows a solid model built by setting the grey-scale image (Fig. 1b) to the top surface of the box (Fig. 1a) as the displacement image. Clearly, it is very important to get grey-scale images that represent the morphology of the top and the bottom of a stratigraphic unit; these grey-scale images are obtained by interpolating the discrete borehole data.

Interpolation

Many software packages could be used to realize the interpolation process. However, ArcGIS is particularly useful because of its powerful function in mapping borehole data according to coordinates. The following is an explanation of the main steps of interpolating borehole data and obtaining the grey-scale image in ArcGIS (Tim et al. 2004).

  • Step 1: Mapping discrete boreholes. Discrete points representing the location (x, y) of each borehole should be plotted in a map layer. ArcGIS provides a function to create these points automatically by importing the ASCII file including the coordinates of the boreholes.

  • Step 2: Inputting attribute database. The elevation of each stratigraphic contact (see Fig. 2a) of each borehole would be input into each borehole’s attribute database. These attribute data can also be input automatically from an ASCII file.

    Fig. 2
    figure 2

    Interpolation of borehole data: a virtual stratigraphic interface, b deformation of the box surface after displacement

  • Step 3: Selecting interpolation scheme. Any interpolation scheme could be used to interpolate the z-value of stratigraphic contacts, e.g., the Inverse Distance Weighted (IDW), Natural Neighbor and Kriging methods. ArcGIS can provide all the above interpolation schemes.

  • Step 4: Saving interpolation results as grey-scale images. The results of the interpolation are raster images. To obtain a grey-scale image, the raster image will be rendered in grey mode; the grey value of the image varying from 0 to 255. At the same time, the minimum Z-value of each contact surface should be recorded; the difference between the maximum and minimum Z-Value (the D-value) can then be computed. This will be set as the strength value in the displacement process, as shown in Fig. 2b.

Often not all of the stratigraphic contacts are present for a given borehole. For example, in Fig. 2a, the middle borehole is missing stratigraphic contact 3. When interpolating a surface with certain strata missing, it is desirable to include a “missing horizon”, making a pinch-out as described by Alan and Norman (2003). Each stratigraphic contact interface can be interpolated and saved as a grey-scale image.

Building models

In 3DSMax, a box representing a stratigraphic unit should be created with a grid cell matrix of the top and bottom surface designed according to the accuracy of the model and the resolution of the grey image. For example, if the resolution of the grey-scale image is 100 × 100 pixels, the grid cell matrix should be lower than or equal to 100 × 100.

The width/length ratio of the box should be same as the width/length ratio of the gray-scale image and the thickness of the box equal to the difference between the two minimum Z-values of the adjacent stratigraphic contacts, as shown in Fig. 2b. The Z-value of the box bottom should be equal to the minimum Z-value of the bottom surface of the stratum. The displacement image for the top surface of the underlying stratum is the same as the bottom surface of this stratum and uses the same strength parameters. For example, in Fig. 2a, the displacement image for the bottom surface of the silt stratum is 1-surface and the displacement image for the top surface of the sand stratum is also 1-surface. To build a silt stratum model, as shown in Fig. 2b, the thickness of the original box representing the silt stratum is equal to the difference between the minimum Z-value of 0-surface and that of 1-surface. The Z-value of this box bottom equals the minimum Z-value of 1-surface. The strength value in the displacement process for the 1-surface equals the D-value of 1-surface, and that for the 0-surface equals the D-value of 0-surface. After the displacement process, the two strata can be joined together.

While independent models of each stratigraphic unit were built, the whole 3D geological model can be composed with these solid models, as shown in Fig. 3. 3DSMax provides rich cutting tools which can cut models into different shapes, as shown in Fig. 4. The detailed operations of these tools will not be introduced in this paper; users can easily learn them with the online help of 3DSMax.

Fig. 3
figure 3

3D geological model built by displacement in 3DSMax

Fig. 4
figure 4

Cutting model in different ways a slice model, b horizon cutting, c slope cutting, d digging a hole

Showing models in VRML

The models obtained by the above method can only be operated interactively in the 3DSMax environment. In order to realize inter-operability, models can be exported to VRML script files, which are *.wrl documents. VRML is managed by the International Organization for Standardization (ISO). Although it is not good with very large surfaces, it is very easy (and highly effective) to show 3D models of a small area as 3DSMax has a function to export the model in VRML format without any additional programing. Moreover, models in VRML format can be shown using internet browsers such as Internet Explorer or inserted into PowerPoint files for presentation where moving, zooming, etc., is possible.

Not only static but also animated models can be exported to a VRML file. The animation can be playing in the VRML environment automatically as the users operate interactively. So, using 3DSMax and VRML together to create a 3D geological model can enhance performance. Figure 5 shows the flow chart of the whole process.

Fig. 5
figure 5

Flow chart for 3D geological model

Handling with strata

Some common but complex geological phenomena, such as missing strata, local lenses, dissection, faults, etc., make modeling more challenging, but the following methods can be used.

Stratum missing in some boreholes

Missing strata may arise in two situations: (1) only a few boreholes miss a certain stratum; (2) most of the boreholes miss a certain stratum. The latter can be treated as a local lens or erosional feature while the former can be solved by adding “missing horizon” (Alan and Norman 2003) and Boolean operation in 3DSMax (Sham 2008). However, after displacement some parts of the bottom of the box will be higher than the top, as shown in Fig. 6a, hence this stratum will intersect the overlying stratigraphic unit. Because the top surface of the underlying stratigraphic unit uses the same displacement image as the bottom surface of this unit, the underlying unit will also intersect with the overlying unit. The Boolean operation provided by 3DSMAX can facilitate cutting off the intersecting parts of these two strata, as shown in Fig. 6b. After the Boolean operation, the two strata can have a common interface, as shown in Fig. 6c, d.

Fig. 6
figure 6

Modeling process for missing strata a stratigraphic unit model for missing stratum after displacement, b stratigraphic unit model after Boolean operation, c grid view of the resulting model, d solid view of the resulting model

Local lens and dissection

If most of boreholes miss a certain stratum, this stratigraphic unit is called a “sandwich stratum”. If a sandwich stratum lies on the top or the bottom of the main stratigraphic unit, it is called top dissection or bottom dissection, and if the sandwich lies in the middle of the main stratigraphic unit, it is called a local lens, as shown in Fig. 7a.

Fig. 7
figure 7

Modeling for sandwich strata a building main geological unit and ellipsoid representing sandwich independently b after Boolean operation, c centre view showing size of ellipsoid, d side view showing position of the ellipsoid, e grid view of the resulting model, f solid view of the resulting model

The Boolean operation provided by 3DSMax is useful to deal with these problems. First, the solid model that represents the main stratigraphic unit should be built, ignoring the sandwich strata. This model is called the super main stratigraphic unit. Second, several ellipsoids that represent sandwich strata (lens or dissection) are created, called super ellipsoids, as shown in Fig. 7a. The intersection of the main stratigraphic unit and the sandwiches can be cut off from the main stratigraphic unit by Boolean operation and the intersection can also be saved as the sandwich stratum, such that both lenses, erosional features, etc., and the real main stratigraphic unit can be obtained as shown in Fig. 7b.

If a sandwich stratum is found in only one borehole, as shown in Fig. 7c, the center of the ellipsoid should be at the position of the borehole, and the boundary of the ellipsoid approximately along the center points between this borehole and adjacent boreholes in which the stratum is not missing. If a sandwich stratum is found in several neighboring boreholes, the center of the ellipsoid should be at the mean center of these boreholes. The thickness of the ellipsoid should also be adjusted to fit the thickness of the sandwich strata, as shown in Fig. 7d. The Deformation operation provided by 3DSMax is useful to deform a simple ellipsoid to satisfy the above requirements. Figure 7e, f shows the grid view and solid view of the resulting model after executing the Boolean operation.

Faults

It is difficult to obtain fault information from boreholes on a regional basis. Additional information obtained from outcrops or regional geological exploration documents can assist with the inclination, orientation and other characteristics of the fault. At first, the 3D geological model is built ignoring the fault as well as an independent model representing the fault (incorporating the additional information). Using the Boolean operation introduced above, the complete model containing the fault pattern can then be built, as shown in Fig. 8. However, before the Boolean operation, the stratigraphic units that the fault penetrates should be determined as only these need the Boolean operation.

Fig. 8
figure 8

Grid view and solid view of model containing a fault

The model shown in Fig. 8 was just a simple fault. More complex faults can be incorporated using the local lens or sandwich dissection modeling method.

Model rendering and animation designing

In 3D geological modeling processes, most software packages represent different stratigraphic units with different colors, using a legend to explain these, e.g., red may represent a silt stratum and blue sand. However, the engineer distinguishes the stratigraphic unit by conventional legends. Bitmaps that represent the stratigraphic unit’s legend (or fill style) can be created independently and saved as BMP or JPG files such that they can be included in the 3DSMax model. Again, in order to make the 3D geological map more familiar/friendly to the engineer, an elevation ruler or compass can also be created. The approach introduced in this paper was applied to the Taizhou Bridge Pier site in Jiangsu province, China. The resulting model is shown in Fig. 9.

Fig. 9
figure 9

3D geological model of Taizhou Bridge Pier site: a solid model with compass and ruler, b model with unit-by-unit animation

As the models built in 3DSMax can only be shown or operated in a 3DSMax environment, if they are needed in a different environment they should be saved as pictures. 3DSMax provides many animation functions; Fig. 9b shows an unit-by-unit moving animation where the solid model of each stratigraphic unit can be moved upwards individually. When an unit moves to its actual position, it stops, then the unit below it begins to move upwards until all the stratigraphic units are at their designated position.

Conclusions

The approach introduced in this paper utilizes the merits of different software products to build a 3D geological model. The powerful functions incorporated in the 3DMax software can help to resolve most of the problems in building complex stratigraphic units, such as missing strata, local lenses, erosional features, etc. The approach can reduce the workload in the modeling process. Its most signification features are the ease of operation and the fact that the model can be operated interactively out of the original software environment. The most important disadvantage is that the approach is not suitable for complex and large scale models, due to the amount of additional manual intervention required and the limitations of VRML in handling large surfaces.