1 Introduction

Realistic appearance of natural sceneries has been a key topic in computer graphics for many years. The outcome of this research primarily targets the film and gaming industries. The modelling is often procedural and can be constructed with little user intervention, at interactive framerates. In most cases, only the top surface is the final product of the modelling process, even if subsurface features have been taken into account during the modelling.

Parallel to this development, the modelling of geological structures has been developed from the geological domain. This modelling process usually requires heavy user involvement and substantial domain knowledge. The model creation can often take up to one year of intensive work. The modelling process also includes data acquisition from the site which is to be modelled. The resulting model is usually a very complex 3D structure, consisting of a number of different subsurface structures.

The needs of the entertainment industry and the geoscientific domain are substantially different, although they represent similar natural phenomena. While the former one puts emphasis on interactive realistic visual appearance, the latter one focuses on the correctness from the geoscientific point of view. An analogy can be observed in digital capture of the flow phenomenon: computer graphics proposes visually pleasing methods of flow, while computational fluid dynamics proposes physically plausible methods.

In recent years, research in geosciences has identified the importance of rapid generation of geologic models at early stages in exploration for the purpose of expressing and communicating scenarios where a hydrocarbon trap is present. For rapid generation of models, the extensive development period of a typical geological model becomes a severe limitation. This raised the need for rapid modelling approaches that are common practice in computer graphics terrain modelling. This is one of the reasons why geoscientific modelling techniques are approaching traditional terrain modelling approaches.

One essential difference still remains: While the terrain synthesis for entertaining industries is carried out by artists for the purpose of content creation, the geoscientific models are created based on actual measurements and are done by geologists and other geoscientists based on a substantial level of background knowledge and expertise. Moreover, when modelling based on measurements, the input data are either densely covering a certain spatial area, for instance by means of large-scale acoustic surveys, or consist of sparse samples that are completed by extrapolating known values over the areas where no measurements are taken. There is a multitude of approaches to collect geological information, for instance from seismic surveys (2D, 3D, 4D), boreholes (1D), virtual outcrops from LIDAR scans (3D), or vertical outcrop analysis (2D) [1]. It is outside the scope of this report to provide in-depth information on the acquisition processes. However, the nature of these measurements strongly influences the modelling approach from the geoscientific perspective. The aim of this report is to assess different approaches for modelling geological structures, to compare methods from the computer graphics and geoscience domains and to suggest promising topics for future research agendas.

It is important to note that only a part of the research in geomodelling is of academic origin and publicly available. There is a substantial amount of geological modelling research available only in the form of ready-to-use tools in commercial software packages. This research is, unfortunately for this report, protected by commercial vendors and their algorithmic details are often not known to academia. Therefore we focus on describing those geomodelling methods that have been made publicly available. The aim is not to describe the functionality of commercial modelling packages or to attempt to reverse-engineer the methodology behind them.

We firstly provide, in Sect. 2, a light-weight background on essential properties of geo-bodies as compared to man-manufactured objects typically modelled by means of Computer-Aided Design (CAD). After becoming familiar with essential background knowledge, we discuss our proposed taxonomies and highlight principal differences in Sects. 3 and 4. High-level distinctions between a computer graphics approach and a domain science workflow are reviewed. The aim is to give the interested reader a notion of possible future integrative tendencies between these two fields by means of mutual adaptation of methodologies typical for one or the other domain. Section 5 consists of a comparison of selected techniques for modelling surfaces and for modelling solids. Finally, in Sect. 6 we suggest possible developments of computer graphics in geological applications.

2 Geological Elements

The study of structural geology divides the subsurface into geo-bodies [2] of different categories. Central objects are layers, horizons, faults, folds, channels, deltas, salt domes and igneous intrusions.

Much of the reviewed work shows how to represent geological feature such as horizons, folds, faults and deposition. Deposition occurs when eroded particles in nature are brought by wind, water or gravity to a different place, where they accumulate to form a new rock layer. The subsurface is composed of a set of layers with distinct material composition. The surface which delimits two adjacent layers is known as a horizon. Two fundamental geological phenomena involve modification of the original structure of horizons: the process of folding and the process of faulting. A fold is obtained when elastic layers of rock are compressed. It is defined as a permanent deformation of an originally flat layer that has been bent by forces acting in the crust of the Earth. Faults originate when forces acting on layers are so strong that they overcome the rock’s elasticity and yield a fracture. Horizons are thereby displaced and become discontinuous across a fault. Channels are tubular subsurface structures, they are either fluvial paths that directly originate under the ground or are created when what was once a river has been filled with sediments and then covered with other layers together with the surroundings. Geological models can be divided into two different categories, layer-based models and complex terrain models [3]. The layer-based models, built of multiple horizontal oriented surfaces, are typically created to model sedimentary geological environments during ground-water mapping, or oil and gas exploration. In regions with complex geological structures or where the layering is not dominant, for instance when modelling igneous and metamorphic terrains, a more complex terrain model is needed which can be of a probabilistic nature. These complex terrains are modelled when exploring for metal and mineral resources. In this report, we focus on the layer-based models as they are spatially well-defined and share similarities with terrain modelling in computer graphics.

In two viewpoint articles, Turner [3, 4] provides a thorough introduction to the challenges of creating computer tools for modelling and visualization of geological models. The article formulates the essential domain needs and the capability to interactively model and visualize: geometry of rock and time-stratigraphic units; spatial and temporal relationships between geo-objects; variation in internal composition of geo-objects; displacement and distortions by tectonic forces; and the fluid flow through rock units.

Furthermore the following characteristics of the geo-bodies are highlighted: complex geometry and topology, scale dependency and hierarchical relationships, indistinct boundaries defined by complex spatial variations, and the intrinsic property heterogeneity and anisotropy of most subsurface features. These characteristics are, according to Turner, not possible to satisfy with traditional CAD-based modelling tools. Thus, dedicated geological modelling and visualization tools are necessary.

In geological modelling there are often scenarios that lack sufficient data, so in order to build a meaningful model, the creator must interpolate between the sparse sampled or derived data available. Traditional interpolation schemes for discrete signal reconstruction are not sufficient as the process needs to be guided by geological knowledge, often through many iterations, to produce a successful result. A plausible geological scenario has to follow certain geo-physical constraints. Caumon et al. [5] describe specific structural modelling rules for geological surfaces defining boundaries between different lithological layers. Geo-bodies exhibit spatial continuity, therefore abrupt geometric variations such as sudden change of normal orientation on the surface, and abrupt changes within a fault are not common. This implies that a structural model may be validated via reconstructing its depositional state. Caumon et al. also describe the typical process of creating a structural model. The modelling usually starts with fault modelling. The mesh can either be produced directly as triangle strips, based on the dip information or indirectly using a specific interpolation scheme. The second and most important step is to define the connectivity among fault surfaces. The last step is the horizon modelling.

Wellmann and Caumon [6] present a large work from the geoscientists point of view regarding geological modelling. They review geometric representations of subsurface structures with focus on geological realism with respect to observations, information, and knowledge. They also present methods to analyze, quantify, and communicate uncertainties in the models.

Fig. 1
figure 1

Several methods are classified according to which domain they originate from (computer graphics or the geosciences) and what underlying data they use (data-free, sparse or dense data)

In Sect. 3 we will briefly categorize previous works in terms of the type of data that is being addressed (see Fig. 1) followed by an in-depth categorization of papers according to where they fit in the workflow of geomodelling (see Fig. 2) in Sect. 4.

3 Geomodelling Data Taxonomy

By comparing the outcome of computer graphics terrain modelling with geoscientific modelling, we can roughly divide modelling into three distinct categories: the data-free, sparse-data, and dense-data scenario. The first category represents current and future trends in rapid modelling, where current methodology originates from the computer graphics research, while the latter two categories are developed from explicit needs in the geoscientific domain. This categorization forms one of the high-level taxonomies of the discussed modelling approaches. Figure 1 shows the taxonomy together with different modelling scenarios.

The data-free scenario has no ground truth information and therefore the geometric synthesis relies entirely on procedural [7, 8] and geometric modelling. The typical computer graphics research agenda proposes methodologies that alleviate the user from labor-intensive tasks by automating parts of the modelling. Procedural modelling offers the modeller specific, easy to handle input parameters which control the process of geometry generation. The geometry typically represents terrain surfaces. Procedural techniques in modelling have been facilitated mainly through fractal modelling [9, 10]. In the dynamic case, simple erosion models [11, 12] are utilized to create dynamic and realistic landscapes [13, 14].

The shortcoming of procedural modelling is usually the lack of direct control over the landscape development. The modeller has a rough idea of the landscape, but implicit parameter settings do not guarantee a match with the modeller’s idea of an intended shape. Therefore a combination of explicit geometric modelling, to represent the modeller’s expectations, with procedural modelling, to add realism, is a preferred strategy. On the other hand, geometric modelling can be a labor-intensive task. For rapid modelling scenarios, various forms of sketching metaphors [15,16,17] or modelling by example [18] provide fast ways to express the rough structure of a terrain or of a stratigraphic model [19, 20].

The sparse-data modelling scenario is the most frequently seen in the geoscience domain [21]. Very often it contains networks of boreholes [22,23,24], where the data needs to be interpolated between. Besides boreholes, there are often other acquisition types available, such as surface elevation models [25, 26], obtained through the process of remote sensing, typically acquired using satellite or aircraft-based sensor technologies. This heterogeneous pool of geoscientific data raises the challenge of data integration and data interpolation.

The main interpolating methods are the Kriging method, the Discrete Smooth Interpolation (DSI) method, the Natural Neighbor Interpolation method, Radial Basis functions, the Inverse Distance method, and spline methods. They will be discussed in Sect. 4.2.3.

Turner [3] demonstrates how to build a typical geological model from a sparse-data scenario by firstly interpreting bore-hole logs to construct triangulated surfaces of horizons [27] and then create the geo-bodies [28, 29] in sealed, boundary-representations [30] of the volumes between these surfaces. The modelling of faults [31] is also very important and Turner describes the challenge of modelling the interface between the boundary representation and the fault to avoid an unwanted crossing or empty spaces between the fault and geo-bodies. Using a structured mesh representation of the boundary surface can result in discretization errors, while using an unstructured grid representation [32] adds computational complexity and results in slow model construction.

The dense-data scenario is typically based on a single- or multi-attribute volumetric seismic dataset. The first challenge is purely of computational character, i.e., how to interactively display huge amounts of volumetric data, addressed, e.g., in the work of Plate et al. [33]. Utilizing volume rendering concepts, these datasets can be displayed without prior extraction of geo-bodies. Extracting geological structures from this data is necessary for consecutive steps along the workflow, such as reservoir modelling. This process is known as geoscientific interpretation and is a very time-demanding task. Typically, the original seismic dataset, consisting of the amplitudes of reflected sound waves, can be used to extract a number of derived attributes. These attributes are not geo-bodies, but their distribution over the 3D domain indicates the presence of certain geological structures. The SHIVR interpretation system [34] can extract geo-bodies based on scatter plots, as shown by Andersen and van Wijngaarden [35]. Rapid prospect generation can certainly benefit from faster interpretation. Patel et al. proposed methods for rapid horizon extraction in two [36] and three dimensions [37]. Afterwards, once the interpretation is available, 3D visualization can assist in validating the correctness of the extracted horizons with respect to original or derived attribute data [38].

A natural next step after 3D structural modelling is the development of a time-varying structural model. Inverse methods are often utilized in geomodelling to restore hypothetical geological scenario by going backwards in time [39,40,41]. Such an approach aims at restoration of deposited sedimentary layers, for example through unfolding. Restored information about palaeogeography often gives good indication where to search for hydrocarbon reservoirs.

Fig. 2
figure 2

Workflow taxonomy. Blue boxes represent data and green boxes represent action on the data to create richer data. The smaller boxes inside show examples of methods for that subtopic

4 Geomodelling Workflow Taxonomy

In Fig. 1, methods are categorized according to which domain they arise from, which is also tightly correlated with the amount of measured geologic data they handle. However, for the rest of the paper we have found it more appropriate to describe methods in the order they would be applied in a workflow for creating a geological model. Such a taxonomy is shown in Fig. 2. We have defined two separate workflows, one for creating models from no data, and one for creating models when data exists. The steps in each workflow are aligned with each other and we have specified in front of each category which subchapter they are described in. In the workflow where no measured data is required as input (data-free), some papers focus on surface creation, other general papers describe different mathematical surface representations. Several sketch-based papers describe different ways of fast sketching and assembling of solid objects and some focus on compact representations and fast rendering of complex solid objects. For the case where data is being used (the sparse/dense-data column), the workflow begins with measuring data, interpreting relevant structures, interpolating these into higher-order objects and representing these in some appropriate mathematical way. The structures are then assembled into solid geometry describing the subsurface. We have devoted a subsection to each of the topics described in the geomodelling workflow taxonomy.

4.1 Data-Free

This section describes works that do not rely on any measured or sampled input data, and where the models are created from scratch, driven by imagination or concept ideas and domain knowledge.

4.1.1 Fractal and Erosion Surface Creation

There are usually three approaches to generate synthetic terrains: fractal landscape modelling, physical erosion simulation and terrain synthesis from images or sample terrain patches. Before the work by Olsen [7], it was mostly possible to use simple fractal noise to obtain terrain surfaces, because computers were not fast enough to simulate erosion processes in real-time. Olsen proposes a synthesized fractal terrain and applies an erosion algorithm to this. His representation of terrains is a two-dimensional heightmap. To simulate erosion, he considers the terrain slope as one of the main parameters: a high slope results in more erosion, a low value produces less erosion. Starting from a noisy surface, called the base surface, erosion occurs to simulate weathering on a terrain. He applies two types of erosion algorithms to the base terrain: thermal and hydraulic. After testing the two erosion methods, he decides to combine the advantages of each, namely, the speed of the thermal erosion and the realism of the hydraulic erosion.

The ability to model and render piles of rocks without repetitive patterns is one of the achievements of the work by Peytavie et al. [8]. They focus on rocks and stones, which are found everywhere in landscapes. They provide realism to the scene, reveal characteristics of the environment and hint on its age. Before this paper, the canonical way of generating rocks was to produce a few models by artists, which were then instantiated in the scene. To create piles of rocks, collision detection techniques were applied with a high computational cost and low control. The authors propose aperiodic tiling of stones to avoid repetitive patterns. Two steps define the method proposed in the paper: the first is a preprocessing step that generates a set of aperiodic tiles constrained to maintain contact between neighbours; subsequently, the rock piles are created by exploiting aperiodic tiles from the previous step. Voronoi cells are employed to control the shape of rocks. In the construction of the Voronoi cells, an anisotropic distance to avoid round-shaped stones is used. Finally, erosion is applied to produce the final model. Meshes of the rocks are represented by using standard implicit surface meshing techniques.

Musgrave et al. [42] describe the creation of fractal terrain models, avoiding global smoothness and symmetry; these two drawbacks arise from the employment of the first definition of fractional Brownian motion (fBm) as introduced by Mandelbrot [43]. Moreover, there is a second stage in which the surface undergoes an approximation of a physical erosion process. Terrain patches are represented as heightmaps and the erosion process is subdivided into a thermal and a hydraulic part.

Concerning modelling terrains with rivers, Sapozhnikov et al. state that at the time when their paper [44] was written it was impossible to simulate the process of natural river network formation without making a substantial approximation; i.e. a simpler model that does not make use of the physical laws, but nevertheless reproduces the main geometrical features of a real river network. They use a random walk method to generate a set of river networks of various sizes.

Stachniak et al. [45] point out that fractal methods have been used to create terrain models, but these techniques do not give much control to the user. They try to overcome this by imposing constraints to the original randomly created model, according to the user’s wishes. The method requires two inputs: the initial fractal approximation of the terrain and a function that incorporates the constraints to be satisfied in order to achieve the final shape. As an example, they show how to adapt a fractal terrain to accommodate an S-shaped flat region, representing a road. The constraint function defines a measure that indicates how close a terrain is to the desired shape. The final solution is provided by a minimization of the difference from the current terrain to the desired one.

Another way of combining procedural modelling with user constraints is described by Doran and Parberry [46]. In their work, they procedurally generate terrain elevation heightmaps, taking into consideration input properties defined by the user. The model lets the user choose amongst five terrain tools: coastline, smoothing, beach, mountain and a river tool. Together, these tools can be used to generate various types of landscapes.

A terrain surface is created by fractal noise synthesis in Schneider et al.’s work [9]. They aim to solve the problem that was one of the biggest disadvantages in fractal terrain generation at the time, namely the setting of parameters. They reduce such an unintuitive process of setting parameters by presenting an interactive fractal landscape synthesizer.

Roudier et al. [47] propose a method for terrain evolution in landscape synthesis. Starting from an initial topographic surface, given by a heightmap, they subsequently apply an erosion process to obtain the final 3D model. The erosion consists of mechanical erosion, chemical dissolution and alluvial deposition.

Chiba et al. [48] propose a method that overcomes the limitation of previous techniques for generating realistic terrains through fractal-based algorithms, but lacks ease of handling, i.e. it is not possible to modify the surface on the basis of constraints drawn by the user. The topology of the landscape is created by a quasi-physically based method, that produces erosion by taking velocity fields of water flow into consideration. The whole process of erosion, transportation and deposition is derived on the basis of the velocity field. Dorsey et al. [49] focus on erosion applied to one stone or rock, represented by its volume, taking into consideration weathering effects on it.

In the work by Benes et al. [50], a method for eroding terrains is described. A concise version of a voxel representation is utilized, and thermal weathering is simulated to erode the initial model. This new way to represent terrains has the advantage of being able to represent caves and holes. When applying erosion, all the layers and ceilings of the caves are involved in the process.

In a subsequent paper [51], a technique for procedural modelling of terrains through hydraulic erosion is introduced. The purpose is to use a physically-based approach together with a high level of control. Their algorithm takes in consideration that water dissolves material and transports it to other areas where, after evaporation, it is deposited. Contrary to previous techniques which tend to oscillate during water transportation, they provide a tool for hydraulic erosion that is fast and stable. They overcome oscillation by relying more on physical constraints than was previously the case. The erosion process consists of four independent steps, where each step can run repeatedly and in any order. These four steps are: introduction of new water (simulation of rain); material capture by water (erosion); transportation of material; and deposition at a different location.

Another work by Benes et al. [52] applies a hydraulic erosion fully based on fluid mechanics and thus on the Navier-Stokes equations that describe the dynamics of their studied models. They use a 3D representation provided by a voxel grid and the erosion process leads to a model that can show a static scene or part of an animation illustrating the terrain morphology. At each iteration of the process of erosion, a solution to the Navier-Stokes equations is computed to determine a pressure and velocity field in the voxels.

Interactive physically-based erosion is employed by Stava et al. [53] (Fig. 3). This work is based on physics by making use of hydraulic erosion, and on interactivity, which allows the user to take an active part during the generation of the terrain. The technique is implemented on the GPU and, because of the limited GPU memory, the terrain is subdivided into tiles, which allow them to apply erosion to local areas. Each terrain-tile is represented as a heightmap.

Fig. 3
figure 3

The eroded terrain is obtained by simulating the movement of the water flow and transportation of rock particles [53]

Kristof et al. [11] adopt 3D terrain modelling through hydraulic erosion obtained by fluid simulation using a Lagrangian approach. Smoothed Particle Hydrodynamics (SPH) [54, 55] is employed in this paper to solve dynamics that generate erosion. SPH requires low memory consumption, it acts locally, works for 3D features and is fast enough to work on large terrains.

For Hnaidi et al. [12], the terrain is generated from some initial parametrized curves which express features of the wished terrain (see Fig. 4). Each curve is enriched with different types of properties (such as elevation and slope angle) that become constraints during the modelling process.

Fig. 4
figure 4

Sketches, that are visible in the figure as blue strokes work as constraints during the method proposed by Hnaidi et al. [12]

Prusinkiewicz and Hammel [13] address the problem of generating fractal mountain landscapes, which also includes rivers. They do it by combining a midpoint-displacement method for the generation of mountains with a method to define river paths.

Hudak and Durikovic [14] tackle the problem of simulating terrain erosion over a long time period. They use a particle system and take into consideration that terrain particles can contain water. The Discrete Element Method (DEM) is used for the simulation of the soil material and Smoothed Particle Hydrodynamics (SPH) simulates water particles.

Instead of procedural and erosion synthesis, Brosz et al.’s paper [18] introduces a way to create realistic terrains from reference examples. This process is faster than starting the terrain generation from scratch. Two types of terrains are necessary to obtain the final one: a base terrain, used as a rough estimate of the result, and the target terrain that contains small-scale characteristics that the user wants to include in the reconstruction. Brosz et al. have two common ways to generate landscapes represented as a heightmap: using brush operations to bring some predefined information or action on the surface; alternatively, simulation and procedural synthesis can be applied to obtain a realistic terrain. One drawback of using simulation is that it can be slow, while in the case of procedural synthesis, expressability is reduced by a limited set of parameters. De Carpentier and Bidarra try to combine brushing and procedural synthesis in their work [56] (an example is shown in Fig. 5).

Fig. 5
figure 5

Two types of noise shown on the left and right side of the image applied by de Carpentier and Bidarra [56] to achieve a realistic terrain

Cordonnier et al. [57] use a volumetric representation to create models of terrains and near-surface geology. The method uses layers and sublayers with different physical properties to simulate erosion (improving their former work [58]) and uplift movements of the earth’s crust. The authors embody these techniques in an interface that makes use of hand gestures to create large scale terrains (100 \(\times \) 100 km) with a good level of realism. In another work, Cordonnier et al.  [59], use a similar method to simulate erosion on multi-layer data but connecting it to combine various ecosystems.

A good source of further reading is Galin et al. [60] who perform an extensive review of the most recent works on terrain modeling from a computer graphics perspective. The authors classify the representation of the terrain into two broad groups, one using heightmaps, and one using volumetric representation. They also categorize over fifty papers according to factors such as:

  • The variety of landforms the method can create.

  • The realism of the landforms, where the authors used different ways to to measure realism.

  • The range of scales of the landforms, which takes into account the precision and extensions—from meters to hundreds of kilometers.

  • The authoring of the landforms, which evaluates how easy it is to create the terrain the designer has in mind.

  • The efficiency of the algorithm, which takes into account time and space costs.

4.1.2 Sketch-Based Surface Creation

Modelling a terrain surface with sketch-based tools rather than procedural techniques is a more controlled and intuitive process. Gain et al. present a paper [15] that describes procedural terrain generation with a sketching interface. Their approach aims to gather benefits and overcome some limitations of previous methods of sketch-based terrain modelling [61,62,63]. Watanabe and Igarashi [62] employ straight lines and, even though they yield a boundary for landforms using local minima and maxima of the user’s sketch, they do not give the user the possibility to change the proposed shape (see Fig. 6). Furthermore, they apply noise onto the terrain after surface deformation, hence the obtained surface does not interpolate the user strokes exactly. Whereas landforms rarely follow straight lines, Zhou et al. [63] allow landforms to have more free-shape paths using a heightmap sketching technique as guidance for an example-based texture synthesis of terrain. In contrast to the method suggested by Gain et al. [15], they provide low and indirect control over the height and boundary of the resulting landform.

Fig. 6
figure 6

Watanabe and Igarashi’s process for obtaining a landscape surface by sketching [62]

Extending the use of parametric curves to modeling terrains and their properties in a volumetric representation, Becher et al. [64] were able to create terrains with arbitrary vertical layouts, enabling terrain features such as arches, caves and overhanging cliffs. The application makes use of feature curves that define the local terrain properties and extrapolate these properties to the rest of the model area. By performing computations in compute shaders on the GPU, interactivity is achieved.

Guérin et al. [65] use a Conditional Generative Adversarial Network (cGAN)  [66] to create terrains from sketches. A Generative Adversarial Network is a deep-learning method that maps images to images and has successfully been used in many applications [67]. In general, the cGAN method receives a pair of images as a training unit—the input image and the expected output image. To generate the terrains, the authors trained four cGANs, each one specialized in one task. The first one takes sketches representings rivers, valleys and ridges along with points with elevation information and creates the first terrain. Then the authors train a second network where the user can specify areas of constant elevation. To be able to complete missing information on the models, the authors train a third network with images of terrains. Finally, they create a network to simulate erosion processes. The first three cGANS were trained using real terrains images, while the last one uses a synthetic data set. After a large scale terrain model has been created, fine procedural details can be added by using the technique of terrain amplification [68].

Vital Brazil et al. [17] introduce a sketch-based technique to generate general 3D closed objects using implicit functions. They also show how to exploit their tool to obtain simple geological landscapes from few user strokes as shown in Fig. 7. Further sketch-based techniques that also define subsurface features in addition to the top terrain surface are presented in Sect. 4.1.4 Solid Assembly.

Fig. 7
figure 7

Landscape example generated with a sketch-based approach by Vital Brazil et al. [17]. The model is represented with Hermite Radial Basis Functions. Sketch input is shown to the left, and result is shown with a stipple rendering style to the right

4.1.3 Surface Representations

Several of the fractal and erosional surface creation methods represent the surfaces as heightmaps. This is an easy-to-maintain datastructure which fits well with erosional calculations. The method by Vital Brazil et al. [17] can represent complex surfaces with overhangs or closed objects, using implicit functions defined as a sum of radial basis functions. Based on points with normals as input, a smooth implicit function, interpolating the points while being orthogonal to the normals, is created. Further details on this method is found in Sect. 4.2.3 Interpolation which also presents other methods that are closely related to surface representations.

Peytavie et al. [16] represent complex terrains with overhangs, arches and caves. They achieve this by combining a discrete volumetric representation, which stores different kinds of material, with an implicit representation for the modelling and reconstruction of the model.

Bernhardt et al. [69] present a sketch-based modelling tool to build complex and high-resolution terrains, as shown in Fig. 8. They achieve real-time terrain modelling by exploiting both CPU and GPU calculations. To represent large terrains, they use an adaptive quadtree data structure which is tessellated on the GPU.

Fig. 8
figure 8

Surface modelling with the sketch-based tool proposed by Bernhardt et al. [69]

4.1.4 Solid Assembly

By solid assembly, we refer to the process of assembling boundary surfaces or basic solid building blocks into a complete solid object. This work process is supported by CAD based tools.

As opposed to solid assembly for the sparse/dense data scenario (Sect. 4.2.5), in the data-free scenario described in this section, sketch-based methods are predominantly used both for defining the building blocks and for assembling them into a final model. With sketch-based techniques, the process to shape geological structures becomes intuitive and fast.

Natali et al. [19] present an example of sketch-based solid assembly of geological layer-cake models. Their approach allows a user to sketch geological layers and faults on a 2D cross section of the model which is then extruded to a 3D model. Texturing is applied on each layer and the the texture can be deformed using conformal texture mapping to e.g. follow the shape of the layer. The texturing helps convey information that is not captured in the geometric model such as the material type and material orientation within each layer.

Some of the stratigraphic layers found on earth are formed by deposition and erosion caused by fluvial systems. In 2014, Natali et al. [70] explored a way to provide fluvial systems illustrations to geologists, by means of an interactive 3D modelling approach. The focus is on evolving depositional and erosional landscapes by modelling rivers, deltas, basins, lakes and mountains. For allowing fast sketching, a minimalistic user interface is applied where a user draws on the top surface of the model, either a point, an open curve or a closed curve. A point is interpreted as a deposition of constant thickness on the whole model. Open curves are interpreted as rivers; the terrain is therefore eroded using a simplified mathematical shape that mimics a river cross section. The eroded river can be filled up again with deposited material. The depositional history of a meandering river can be represented on the 3D model by interpolating between two river curves (see Fig. 9). Closed curves can be associated to erosion for defining basins or lakes, or to deposition for creating deltas or mountains. The amount of deposition or erosion is defined as a function of the distance to the closed curve (see Fig. 10).

Fig. 9
figure 9

Left: first and last configurations of the river are sketched and imprinted. Right:imprint of additional five intermediate stages of the depositional history by interpolating the two sketched rivers [71]

Fig. 10
figure 10

Left: a sketch-based approach is used to create 3D surface and subsurface geological features. Right: map view of the sketched strokes used to define the model to the left. Black stroke defines a river, blue strokes define deposition, red stroke defines erosion, and green dots define constant deposition [70]

The internal representation of the 3D model associates each curve to a heightmap. The sequence of curves results in a stack of heightmaps which defines a solid model. Deposition translate to a heightmap with positive values. Erosion translates to a heightmap with negative values which affects the heightmap below in the stack. The final visualisation is achieved with a ray-casting technique (for each pixel, a ray is sent into the scene and intersections are found) on the heightmap stack. The paper includes a user study indicating that the approach is user friendly and that it covers most of the structures relevant for fluvial systems and depositions but is too limited for more general geology such as structural geology.

Further improvements and features are provided by Natali et al. [71] in a following article, where faulting and compaction are introduced in their models (see Fig. 11). The internal representation is founded on their previous work [70]. Faults can be directly drawn on the 3D model (one sketch on the side to define inclination and one on the top to shape the fault surface). From this information, each involved layer is detached in two by splitting the heightmap for each layer into two heightmaps. One of the advantages of this representation is that it can be easily parallelised on the GPU, which enables interactive sliding of the layers on either side of a nonplanar fault.

Fig. 11
figure 11

Geological models showing a sequence of sliding along a nonplanar fault [71]

Amorim et al. [72] describe a sketch-based tool that produces a 3D conceptual model when the user draws and annotates a 2D geologic map. Their idea is to have the tool interpret the sketching symbols that geologists are trained in when drawing geological maps rather than requiring users to use the modelling metafors provided by the programmer. Geologists register their observations on a 2D map which is directly translated to 3D. Amorim et al. proceed essentially in three main steps, as shown in Fig. 12: firstly they provide a 2D canvas where to draw geologic contacts (basically a separation of different rock layers) as seen from map view, and related annotations for depth and inclination. Then a graph-based representation is generated from the drawn geologic contacts which is used to detect unconformities and the rock layers sequence. Lastly, a Constructed Solid Geometry (CSG) conceptual model is built by combining surfaces that represents rock separation. The surfaces are implicit surface interpolations of the initial sketches with further gradient notion coming from the user’s annotations.

Fig. 12
figure 12

Left: the user draws a geologic map which includes geologic contacts (black curves) and dipping angles (T shaped symbols). Bottom right: the system finds a sequence of the rock layers from bottom to top that fits the sketch. Top right: a 3D geological model is generated from the user’s sketch [72]

Lopes et al. [73] present a hardware and software solution where the user wears a VR headset and is able to shape a layered geological model using gestures in free air. The user defines with hand movements vertical-like surfaces which constitute the boundaries of the layer-cake model.

4.1.5 Solid Representations

In this subchapter we consider solid representations. They differ from boundary representations in that they are not hollow, but have spatially varying properties inside. Takayama et al. [74] present diffusion surfaces as an extension of diffusion curves [75] for defining solids. The representation consists of a set of coloured surfaces in 3D, describing the model’s volumetric colour distribution. A smooth volumetric colour distribution that fills the model is obtained by diffusing colours from these surfaces. Colours are interpolated only locally at the user-defined cross-sections using a modified version of the positive mean value coordinates algorithm. A result of the work by Takayama et al. [74] is shown in Fig. 13.

In the work by Wang et al. [76], objects are represented as implicit functions using signed distance functions. Composite objects are created by combining implicit functions in a tree structure. This makes it possible to produce volumes made of many smaller inner components. This multi-structure framework lets them produce models irrespective of resolution (see Fig. 14 for their geological application example).

Fig. 13
figure 13

A volumetric representation of a geological scenario using diffusion surfaces [74]

Fig. 14
figure 14

A volumetric representation of a geological scenario using an implicit representation [76]

4.2 Sparse and Dense Data

This section describes methods that use sparsely scattered geologically measured data such as wells, or dense data such as 3D seismic reflection volumes, for creating a subsurface model. In contrast to data-free modelling where the user produces a model based on a mental image or hypothesis, the modelling is now constrained by values in the data.

4.2.1 Measured Data

Subsurface data can be collected in several ways, at various effort and expense. Seismic 2D or 3D reflection data is collected by sending sound waves into the ground and analysing the echoes. When the sound waves enter a new material with a different impedance, a fraction of the energy is reflected. Therefore, various layer boundaries of different strength are visible in the seismic data as linear trends. Well logs are obtained by drilling into the ground and performing measurements and collecting material samples from the well. Outcrops are recorded by laser scans together with photography (LIDAR) to create a 3D point cloud of the side surface of geology [1]. This surface can be investigated and visible layer boundaries can be identified and outlined as curves along the surface. Heightmap data can be collected from state-run databases.

4.2.2 Interpretation

Many interpretation methods operate on dense data which we gave a description of in Sect. 3. Several commercial tools exist for interpreting 3D seismic data. One example is the extensive software Petrel [77] where the user can set seed points and the system grows out a surface. The user can change the growing criteria or the seed points until a satisfactory surface is extracted. This can be time consuming. Kadlec et al. [78] present a system where the user interactively steers the growing parameters to guide the segmentation instead of waiting until the growing is finished before being able to investigate it. Fast extraction of horizon surfaces is the focus of Patel et al. [37]. Their paper introduces the concept of brute-force and therefore time-consuming preprocessing for extracting possible structure candidates in 3D seismic reflection volume. After preprocessing, however, the user can quickly construct horizon surfaces by selecting appropriate candidates from the preprocessed data. Compact storage of all surface candidates is achieved by using a single volumetric distance field representation that builds on the assumption that surfaces do not intersect each other. This representation also opens up for fast intersection testing for picking horizons and for high quality visualization of the surfaces. The system allows the user to choose among precomputed candidates, but editing existing surfaces is not possible. Editing is addressed by Parks [79]. He presents a method that allows to quickly modify a segmented geologic horizon and to cut it for modelling faults. Free-form modelling is achieved using boundary constraint modelling [80] (a method originating in the Computer Graphics community); this is simpler and more direct than spline modelling, which requires manipulation of many control points. Discontinuities arising from faults are created by cutting the mesh. Amorim et al. [81] allow for more advanced surface manipulation in their system. Surfaces with adaptive resolution can be altered and cut with several sketch-based metaphors. In addition, the sketching takes into account the underlying 3D seismic so that it can automatically detect strong reflection signals which may indicate horizons and automatically snap the sketched surface into position. Motta et al. [82] present a sketch-based approach to segment salt bodies in seismic data. This is useful as salt bodies are hard to extract automatically or even semi-automatically. Their work take an initial mesh and deform it using Laplacian methods for surface editing [83]. Liu et al. [84] present a sketch-based interpretation approach for 3D seismic data where the user can, in a 2D slice view, perform a fast partitioning of the slice for segmenting it and for illustrating it with textures of geological symbols.

The terrain and the subsurface on Earth is created through a series of geological events such as erosion, faulting and folding. Interpretation of the ground results in a model of the current subsurface state. The act of geological restoration is important in geology and tries to stepwise undo in reverse chronology the geological events that have taken place. In Lidal et al.’s paper [85], a tool for 2D creation, modelling and interpretation of geological scenarios in the subsurface is described. The tool allows for sketching up several alternative restoration timelines and organize them in a story tree. Garcia et al. [86] develop this concept further by incorporating a deformation simulation using a mass spring system which supports simple backward simulation directly on the 2D sketch. The backward simulation can undo the geological events of deposition, erosion, compaction, folding and faulting. Laurent et al. [87] apply the deformation method presented by Botsch and Kobbelt [80] to interactively deform, forward model and restore (backward simulate) 3D geological structures. The deformations presented in their work are however more coarse and global than the ones presented in Garcia et al. [86].

4.2.3 Interpolation

Key interpolating methods for surfaces in geosciences are the Kriging method, the Discrete Smooth Interpolation (DSI) method [88,89,90], the Natural Neighbor Interpolation method [91], Radial Basis functions, the Inverse Distance method, and spline methods.

Kriging is a statistical approach to interpolation that incorporates domain knowledge and is uncertainty-explicit [92, 93]. Kriging, like exemplar-based synthesis, creates a surface that has similar properties to an example dataset. Kriging, originating from geostatistics, calculates, based on available samples, how the variation of heights between samples change as a function of the distance between the samples. In terrains, neighbouring points have more similar height values than points further away. By calculating a variogram, which has variance on the y-axis and distance on the x-axis, the variability is captured. This information is then used to interpolate values by finding height values, so that the interpolated point fits the characteristics of the variogram.

The Discrete Smooth Interpolation allows for integration of geo-physical constraints into the interpolation process. The interpolator takes as input a set of (xy) positions, some with height values and others lacking. After interpolation, the lacking height values have been calculated. Discontinuities between positions can be defined so that certain points do not contribute during interpolation. Typically, for a horizon surface, discontinuities would be added over fault barriers. In addition, constraints such as having points being attracted towards other points, having points being limited to movement along predefined lines or on surfaces can also be defined. These constraints are useful for interpolating geologic surface data. However, the method might not be well suited for cases with very little or no observation data (as indicated by De Kemp and Sprague [28]), such as in the data-free scenario.

Natural Neighbor Interpolation is also based on a weighted average, but only of the immediate neighbours around the position to be interpolated. A Voronoi partition is created around all known points and the weight is related to the area of these partitions around the unknown point.

Inverse Distance Weighted Interpolation works on points with planar position (xy) and height z. The height for an unknown (xy) position is a weighted average of the known points. The weight assigned to each known point diminishes with the distance to the unknown point according to a power function with a user defined factor p. When \(p = 2\), Euclidean distance is used.

Carr et al. [94] present a method to build 3D surfaces from point clouds using radial basis functions (RBF). The proposed technique creates an implicit surface \(S = \left\{ (x,y,z)\; |\; F(x,y,z) = 0 \right\} \), where F is a RBF, and interpolates the given points; i.e., \(F(p)=0\) for p in \(\mathcal {P}\), where \(\mathcal {P}\) is the given point cloud sampled from the surface. By the time of publication, the computational power restricted the number of points that were possible to fit using RBF’s techniques. The authors showed that it was possible to adapt RBFs to fit a large number (up to \(3\times 10^{5}\)) of points using methods to accelerate the function evaluation. This work also introduced an approach to improve the surface description enabling the representation of complex topologies. The authors add auxiliary points with values representing the signed distance of each point to the surface, then fitting an RBF that interpolates these values, i.e., \(F(x_i,y_i,z_i)=v_i\), with \(v_i=0\) for points on the surface the, and \(v_i\ne 0\) for auxiliary points. The authors proposed to place the auxiliary points on the surface normals (see Fig. 15). This method has successfully been adopted in mining industry to create geo-bodies with respect to minerals [95].

Later, Macêdo et al. [96] improved the RBF formulation to interpolate the surface’s points and normals – Hermite-RBF (HRBF). This approach eliminates the need to create auxiliary points and is more apt to represent complex geometries. This new formulation enables the creation of closed surfaces using sparse samples, which was used by Vital Brazil et al. [17] to create terrain models from sketches. In Fig. 15, we illustrate the auxiliary points proposed in [94] and the points and normals used in [96]. It is easy to see the possible issue when one uses auxiliary points to represent surfaces that have narrow parts; the distance assigned in the normal direction could not represent the real distance to the surface. On the other hand, the use of normals makes the surface representation much more robust to this problem.

Fig. 15
figure 15

Example of samples used by methods based on RBFs. From left to right: only (green) points on the surface; the auxiliary points proposed in [94] red inside and blue outside; and the points and normals used by the HRBF formulation in [96]

While the HRBF interpolator by Macêdo et al. was developed in the computer graphics and modelling domain, the implicit function interpolator methods [97, 98] had been developed a few years earlier in the geosciences domain for interpolating geological interfaces. Both methods use implicit functions for creating a surface that interpolates data based on both surface points and surface normals.

Another method interpolating both points and normals is made by Wu et al. [99]. They introduced a numerical technique based on an augmented-Lagrangian method and give an example of creating terrains. The method allows for defining a terrain based on two types of data, either the height value at a specific (x, y) position, or the normal vector of the terrain surface at a specific (x, y) position. The input is similar to the method used in the Hermite-Birkhoff Radial Basis Functions [72], but the mathematics behind is different, and the final result is a heightmap instead a set of implicit functions (RBFs). This approach may be suitable for sketch-based techniques, although it does not support overhangs which methods based on Radial Basis Functions do.

For all methods using radial basis functions for interpolating surfaces, it can be noted that there exists three degrees of specialization. Methods only interpolating points [94] (with no extra information such as normal orientation) use regular radial basis functions. When each point also has a normal, the Hermite-RBF can be used [96]. Finally, when each point either has a normal, or a position, or both, the Hermite-Birkhoff RBF formulation can be used [72].

An interpolation and surface representation system for geology is discussed in the work by Floater et al. [100]. Scattered point measurements can come in many forms, uniformly scattered, scattered in clusters, along measurement lines or along iso-curves. Fitting a surface through the points requires interpolation. Different interpolation methods vary in quality depending on the distribution of the scatter data. Floater et al. offer interpolation in form of piecewise polynomials (splines) on triangulations, radial basis functions or least squares approximations.

Although more of a connectivity algorithm than an interpolation algorithm, Ming and Pan [24] present a method for constructing horizons from borehole data. Each borehole dataset consists of a sequence of regions. Each region has its start and end depth specified as well as its rock type. Figure 19a exemplifies this. One rock type might appear in several layers and also the rock type sequence might vary between boreholes. This results in several possible connectivity solutions. The challenge is to make a suitable matching of layers to create a solid layer for each rock type.

Faults define the discontinuity of horizons, however, when interpreting seismic data, fault and horizon surfaces will not be perfectly aligned and will either have gaps or overlaps between each other. Closing gaps by extending horizon surfaces slightly and then cutting them at fault intersections can yield topological errors. Euler et al. [101] propose to use a constrained interpolator (DSI) to control which horizons will be extrapolated and to which faults they will be extrapolated to. This creates a correctly sealed model (see Fig. 16).

The paper uses a test dataset called Overthrust model SEG-EAGE 1994 [102] consisting of four horizons and two faults that merge into one fault. The four horizons divide a cube into five layers. Each layer is divided into three parts by the faults resulting in fifteen distinct blocks.

Fig. 16
figure 16

The work by Euler et al. [101] presents a solid model made from surfaces in the Standard overthrust SEG-EAGE 1994 model [102]

Belhadj [10] models a terrain through a fractal-based algorithm. The aim of the author is to reconstruct Digital Elevation Map (DEM) models. The surface is reconstructed with constraints consisting of scattered points of elevation provided by a satellite or other sources of geological data acquisition. Furthermore, it is possible for the user to change the final shape of the terrain by intervening with sketches on the model. As the goal was to have an interactive model, the choice of the algorithm has been a fractal based approach instead of a physically based one. Specifically, part of the work is based on the so-called Midpoint Displacement Inverse process (MDI), shown in Fig. 17. MDI does not allow reconstruction constraints, therefore a new adapted version of this technique has been proposed, named Morphologically Constrained Midpoint Displacement (MCMD). To be able to include constraints in the interploation computation, MCMD introduces changes in the order of computation of the midpoint displacement.

Fig. 17
figure 17

Example by Belhadj et al. [10] of constrained mid-point displacement. Five points define the constraints for the generated surface

4.2.4 Surface Representations

In the work by Floater et al. [100], surfaces can be created from scattered data and are represented either as an explicit surface (\(f(x,y)=z\)), parametric surface (\(f(i,j)=(x,y,z)\)) or a triangulation. In addition they support offset surfaces defined by one parametric surface and a function that offsets the main surface along the surface normal. Parametric surfaces can be created from triangulated surfaces.

In the works by De Kemp and Sprague [28, 29], surface modelling using traditional Bezier curves and B-splines [103] is discussed. Bezier curves are used as approximative curves, while B-splines are employed when interpolative curves are better suited. All points can be interpolated or approximated. For non-interpolated points, attraction weights can be specified. However, controlling a large number of control points individually can be tedious and lead to meaningless localized distortions. To ameliorate this issue, the authors present the technique of having hierarchical control points of decreasing resolution so that the user can move control points in the hierarchy he/she wishes to displace the surface, to avoid manipulating an excessive number of control points at the lowest resolution level. They use the concept of structural ribbons for describing a curve with normals. It can be considered as a thin strip of the surface that can be fitted on available geological information such as outcrops or map traces.

In areas of importance in an interpretation with sparse interpolated data, the paper expresses the need for expert users to be able to override and alter the coarse approximation and easily update the model when new data arrives. An expert typically attempts to get an understanding of the processes that were operative in shaping the final geometry of a given structure while at the same time respecting the local observational data.

4.2.5 Solid Assembly

Solid geometric representations of subsurface structure are important for analysis. A sealed model enables consistent inside/outside tests, providing well-defined regions and good visualizations. It is also the first step for producing physical simulations of liquid or gas flow inside the model at later stages.

Baojun et al. [27] suggest a workflow for creating a 3D geological model from borehole data using commercial tools and standards. They use ArcGIS [104] for creating interpolated surfaces from the sparse data. They use geological relevant interpolation such as Inverse Distance Weighted, Natural Neighbor, or Kriging interpolation. This approach results in a collection of heightmaps which are imported into 3D Studio Max and stacked into a layer cake model (see Fig. 18). Then Constructive Solid Geometry (CSG) [105] operators are used to create holes (by boolean subtraction) at places where data is missing in the well logs. The model is then saved as VRML [106] enabling widespread dissemination since it can be viewed in web browsers.

Fig. 18
figure 18

Geological model made with CSG operations in 3D Studio Max shown with different cut styles available in the program [27]

When representing subsurface volumes using geometric surfaces for each stratigraphic layer, Caumon et al. [30] describe two constraints that must be followed. The constraints are that only faults can have free borders, i.e. horizon borders must terminate into other surfaces, and that horizons can not cross each other. Following the rules results in a correct and sealed model. This requires that each volume is described by a boundary triangulation with no holes and with shared vertices on seams of intersecting surfaces. Maintaining these constraints when editing horizons and faults is discussed. Mass conservation and deformation constraints during editing is also discussed. In their later work [5], additional geometric rules are introduced. The surface orientation rule states that geological surfaces are always orientable (i.e. having no twists, no Möbius ribbon topology and no self-intersections). Due to the physical process of deposition, they suggest an optional constraint requiring that horizons must be unfoldable without deformation, i.e. that they are developable surfaces with zero Gaussian curvature everywhere. They state that using implicit surfaces instead of triangulated surfaces directly enforce several validity conditions as well as making model updates easier, however at the cost of larger memory consumption. They also discuss the importance of being aware of the varying degree of uncertainty in the different measured data modalities and, for instance, using triangulations of different coarseness according to the sparseness and uncertainty of the underlying observations. The paper presents general procedures and guidelines to effectively build a structural model made of faults and horizons from sparse data such as field observations. When creating a model, they start with fault modelling and then define the connectivity among fault surfaces. Finally, horizons are introduced into the model. However, if the fault structure is very complex, they state that it is wiser to define the horizons first as if there were no faults and introduce the faults and their consequence on horizon geometry afterwards.

Lemon and Jones [22] present an approach for generating solid models from borehole data (see Fig. 19). The borehole data is interpolated into surfaces. For creating a closed model, they state and exemplify that CSG together with set operations can be problematic as the set operation trees grow quickly with increased model complexity. They simplify the model construction by representing horizons as triangulated surfaces while letting all horizon vertices have the same set of (xy) positions and only varying the z positions (see Fig. 20). This simplifies intersection testing between horizons and makes it trivial to pairwise close horizons by triangulating around their outer borders.

Fig. 19
figure 19

Borehole data in a and resulting interpolation in b from the method by Lemon and Jones [22]

Fig. 20
figure 20

Example of model created with method by Lemon and Jones [22]. The shared (x, y) vertex positions can be seen on the side surfaces

Complexity increases when models must incorporate discontinuities in the layers due to the faults. Wu and Xu [31] describe the spatial interrelations between faults and horizons using a graph with horizons and faults as nodes. The graph is used to find relevant intersections and bounding surfaces which are Delaunay triangulated to form closed bodies (as shown in Fig. 21). In a follow-up paper [107], two types of fault modelling techniques are compared (based on what they call stratum recovery and interpolations in subareas) and a unified modelling technique for layers and faults is presented to solve the problems of reverse faults (i.e. convergent sedimentation blocks), syn-sedimentary faults (when slumping of sedimentary material happens before it is lithified) and faults terminated inside the model (blind faults).

Fig. 21
figure 21

Mixed-mesh model employed by Wu [31]. A regular mesh is used in non-boundary continuous areas, whilst an irregular triangulated mesh is adopted elsewhere

4.2.6 Solid Representations

Solid modelling tools in CAD do not easily support subsurface features such as hanging edges and surface patches. Many papers describe data structures for representing the solid blocks that horizons and faults subdivide the subsurface into. Boundary representations are frequently used. Generalized maps, used for describing closed geological models, are introduced by Halbwachs and Hjelle [108].

Fig. 22
figure 22

Example of data structure explaining the 3-G-map definition [108]

A 3-Generalized map (3-G-map) [109] is a boundary representation appropriate for defining the topology of subsurface structures. A 3-G-map is defined as a set of darts D and three functions on them: \(\alpha _0\), \(\alpha _1\), \(\alpha _2\) and \(\alpha _3\) (see Fig. 22 for a 2D example). If one considers an edge as the line between two vertices, then a dart is a half-edge starting at a vertex and ending at the centre of the edge. The three functions map from darts to darts and sew half-edges into edges (by \(\alpha _0\)), edges into polygons (by \(\alpha _1\)), free polygons into connected polygons (by \(\alpha _2\)), and defines neighbouring connected closed polygon volumes (by \(\alpha _3\)). The 3-G-map is a simple yet powerful structure for defining the topology, in such a way that it is easy to traverse the space between connected or neighbouring vertices, surfaces and solids. Apel [110] presents a comparison of 3-G-maps with other boundary structures.

To create a 3-G-map, relations are defined on the faults and horizons, describing how a surface is terminated onto/cut by another surface. The construction process is divided in two, first geometries are created, then they are glued together through defining topology. The 3-G-map encapsulates the topology of the final model. For 3-G-maps, topology must be described very detailed. To relieve the user from this task, several abstractions have been suggested. By letting the user instead define the relation and cuts between horizons and faults in a graph or tree datastructure, the system can then generate a detailed topology description from this. In the work by Brandel et al. [111], the user specifies a graph of chronological order for when the surfaces have been physically created. In addition a graph describing the fault network using the relation “fault A stops on fault B”, is specified. This work is extended [112] to include meta-information in the nodes of the graphs for explicitly expressing the geological knowledge attached to each of the geological surfaces. Examples of such information is that a surface is onlap, erosional, older than or stops on another surface. An example of such a graph can be seen in Fig. 23.

Fig. 23
figure 23

Example of a graph that describes the relations between geological surfaces [112]

Implicit surfaces (implicits) provide a suitable way to represent geological solids [98]. Essentially, such solids are described by implicit functions that can be expressed in different forms, e.g., distance based models, analytical functions, interpolation schemes like for instance RBFs, etc. Pasko et al. [113] generalized the above representations, which lead to an inequality, \(f\ge 0\), also called functional representation of solids. Kartasheva et al. [114] introduced a robust framework to model complex heterogeneous solids, which was based on functional representation. The implicit solid definition is quite broad, and for instance, the terrain modelling using a heightmap can easily be represented by implicits [115].

Although not exactly a solid representation, we describe here methods for generating solid models having a discrete volumetric representation (i.e. consisting of voxels) based on descriptors such as parameters or 3D example datasets.

When a detailed model of subsurface geology is required, stochastic generation methods can be applied. A common usage is the filling of unknown volumetric content inside a closed boundary, such as the ore grade (grams per tonne) of a precious metal. Ensembles of plausible models are created stochastically for getting a better intuition of the probability distribution. This information can be used to decide where to extract the resource or where to take more samples to reduce uncertainty. The stochastic variability can be described by input parameters that match the (sparsely) measured sample data taken in the field.

Variograms (Kriging) as described in Sect. 4.2.3 for interpolating height data can also be used to create volumetric data. However, it produces smooth results and therefore cannot reproduce the heterogenous distributions found in e.g. ore grade. Multiple-Point Statistics (MPS) is more powerful and is able to reproduce hetereogeneities. As opposed to the variogram which uses two-point statistics as it is a function of two variables (the field values at two locations), MPS can closely reproduce spatial patterns from a training image (TI). The training image represents an explicit example of the heterogeneity that one wants to reproduce and can be physical field measurements from similar areas, or manually artificially made data that have the wanted variability. A recent overview of MPS has been made by Tahmasebi [116].

Well-defined geometric objects can also be generated stochastically. See Abdollahifard and Ahmadi [117] as an example. This is called object-based methods and is achieved by producing binary volumetric data instead of scalar-valued data. The binary volumetric data must follow certain topological constraints, such as having connected long strands in the case of creating channels. Stochastic methods have also been used for perturbing the geometry of an existing model. The motivation for perturbing the model is that the actual position of boundaries is only approximate due to e.g. limited resolution of measurements. An ensemble of models can be created to better represent the space of possible variations. Realistic simulations of, e.g., fluid flow (oil migration) can be performed on each model, and the results can be analyzed for identifying the sensitivities. The analysis can answer if, e.g., all variations create the same result, or if there are two main results (attractors) that the simulations evolve towards, and which parts of the model are most sensitive. When perturbing the model, it is important that the result also abides by known constraints. This is explored by Wellmann et al. [118] where they perturb horizons and faults of a model.

An interesting parallel development of MPS and texture synthesis in computer graphics has taken place and is described by Mariethoz and Lefebvre [119]. Both fields build on the same methods. In computer graphics, there is a need to generate realistic textures for applications such as video games and animated movies. For this, training images called exemplars are used as input.

Generative adversarial networks (GANs) are a relatively new technique that has been shown to create more realistic models than existing geostatistical modeling methods [120]. GANs have also been used to generate terrains, as discussed in Sect. 4.1.2. Using a GAN, a wide range of conceptual geological models honouring constraints such as well data can be generated. The GANs are trained using a library of models. GANs couple two competing deep convolutional neural networks: a generator, which creates new example models, and a discriminator, which differentiates between real and synthetic models. The networks are trained in an adversarial manner until the generator can create synthetic images that the discriminator cannot distinguish from “real” images. Two examples generated with the method by Zhang et al. [120] are shown in Figs. 24 and 25.

Fig. 24
figure 24

Conditional fluvial samples generated by GANs in 3D. Ten well data with the interpreted facies in the left-most display. Three categories are used (shale: blue; channel sand: yellow; levee: red). All three generated models (sample 1–3) generated by GANs honor the well data [120]

Fig. 25
figure 25

Training image examples (top) in 3D with 5 voxel categories (see legend bottom right) and unconditional realizations generated by GANs (bottom) [120]

5 Comparing Surface and Solid Representations for Geomodels

In this section, we compare and discuss the surface representation methods in Table 1 and solid representations in Table 2, in the context of how well suited they are for modelling geologic structures. The interesting features of such representations are: how close to a natural terrain the top surface is (Terrain realism, i.e., the ability to portray the properties of terrain such as randomness and the occurrence of all frequencies); modelling of faults (discontinuities); interpolation of input points (gap-filling); support for multi-z values (overhangs). Ease of modelling (control), processing requirements, storage space requirements and the ability of simultaneous representation of high- and low-level details (multiscale) will also be discussed for each category. In Table 2, we compare the techniques with respect to their ability to model layers; support for tubular structures such as channels, caves or holes; ease of modelling; processing and storage requirements and multiscale support. These features are graded with plus for good support, minus for bad support, or 0 if neutral.

5.1 Surfaces

This subsection discusses the surface methods described in Table 1. The methods are split in two by a gray separating line. The three first methods produce surfaces procedurally, while the four last methods (four last columns) interpolate points into surfaces. Fractal techniques create a surface from input parameters; erosional methods create a surface from an input surface and simulation parameters; while exemplar-based methods create surfaces based on a collection of surface examples. Radial-basis functions and splines are defined by control points possibly set by a user. Kriging and DSI methods are completely automatic; therefore user control does not apply to them, and they are grayed out in Table 1. For comparing the capability to model faults, although any method can support this by splitting the surface into two, we strictly evaluate the methods in their mathematical formulation without allowing such a heuristic.

Table 1 This table compares the abilities of surface representation methods in terms of modelling geological features

Fractal and noise-based methods (Sect. 4.1.1) are well suited for achieving a realistic appearance of the surfaces. In particular, fractals are ideal for expressing the self-similarity found in nature. In addition, noise can increase the random behaviour of real geological surfaces. Faults are difficult to represent with fractal or noise approaches, as they usually are represented by heightmaps that do not allow discontinuities. For the same reason, multi-z values can usually not be expressed with these techniques. Fractal and noise-based methods do not allow intuitive or local control of the surface, but it is easy to vary few parameters to obtain a different result. There is no need to store data, fractal and noise behaviour is represented by compact analytical formulas. On the other hand, processing requirements can be high, depending on the complexity of the formula describing the surface shape. Multiscale behaviour is present in fractals by their definition.

Erosion (Sect. 4.1.1) is a process that affects terrain by simulating weathering. Therefore it is very well suited for modelling a natural appearance of the top layer. Erosion is modelled as a flow process and, therefore, does not handle discontinuities well. When used with Smoothed Particle Hydrodynamics (SPH), erosion needs to incorporate some data interpolation method to fill the gaps. Erosion processes can result in carvings, and thereby multiple z values. The erosion process is hard to control. Essentially a simulation with given parameters is initiated and the user can either accept the results or modify input parameters for a more satisfactory result. Storage requirements are low, while the resulting model can be of arbitrary size. On the other hand, erosion is a dynamic process that requires processing resources for the simulation.

Exemplar-Based (Sect. 4.1.1) techniques can, to a certain degree represent faults, but not real discontinuities since the methods (mostly) use heightmaps. It can, in theory, synthesize terrains with abrupt changes if the exemplars contain steep cliffs. The method was not initially designed for data interpolation. However, exemplar synthesis often works with having a filter expanding the border of the so-far-made-texture by filling in with parts of exemplars that have similar neighbourhoods. Therefore interpolation can be made by starting with a texture having the interpolation values set and letting the rest be synthesized. Multi-z values are not supported for methods using a 2D heightmap. One could perform 3D texture synthesis, but this has not been explored for terrain generation. Classical exemplar-based methods offer no control at all, whereas more recent methods allow for a coarse input mesh [18] and can be guided by a user-sketched feature [63]. Brosz et al. [18] show how to use a base terrain and add details by texture synthesis. Storage requirements are quite high since many exemplars must be stored. Furthermore, creating the terrain is computationally expensive.

Radial-Basis Functions (RBFs) (Sect. 4.1.3) represent a variational interpolation technique that enables to fit/approximate an iso-surface to a given set of points and normals associated with these points. Here, the points can be given in arbitrary order, unlike splines which require a grid structure. An important feature, that might be seen as a drawback for geological models, is the \(C^n\) continuity of the resulting surface, which results in surfaces that are too smooth for geological structures. To produce highly realistic terrains one would need to specify a substantial number of points with varying normals to interpolate. On the other hand, the RBF method can easily fill the gaps in the surface model and model overhangs, which comes from the nature of the technique [121]. In practice, the specification of control points and normals can guide the appearance of the final surface. Moreover, modelling multiscale features is not directly supported due to the linear model composition. In order to visualize the final iso-surface, one needs to evaluate the function at the given point, which puts the computational burden on the surface generation step. Nevertheless, to store the implicit function, one only needs to specify the function evaluation process based on the given points and normals.

Splines are defined as parametric surfaces that, similarly to other interpolation techniques, produce the surface from a set of control points and the tangent or normal vectors associated with the points. Note that splines require an ordered list of points, which makes the modelling procedure somewhat tedious. Similarly to other interpolation-based surfaces, spline surfaces are continuous by their nature, which makes it hard to create discontinuous faults or realistic terrains. In comparison to RBFs, splines require a greater effort to change a surface model to fill the gaps or to produce overhangs. On the other hand, the parametric form facilitates the computation and visualization of the resulting surface. Multiscale representations are natively, similarly to RBFs, not supported by the spline model definition.

Kriging (Sect. 4.2.3) produces good terrain realism because the interpolated values are correct in a statistical sense. In addition, Kriging is ideal for filling gaps in the input dataset since the method is tailored for interpolating terrains using statistics.

Discrete Smooth Interpolation (DSI) (Sect. 4.2.3) belongs to the family of interpolation techniques that compute the missing information (function values) on a given graph. As such, it provides a powerful framework for modelling specific features in geology. For instance, the information about discontinuities on a set of vertices can be specified by cutting out connected nodes or by adjusting their contributing weights [88]. Since the entire evaluation procedure that computes the unknown values at a graph node requires a minimization (iterative) algorithm, the processing complexity is very high compared to other interpolation techniques. However, DSI is efficient in iterative modelling when one needs to adjust an existing model. Essentially, to update the node values, only a few steps of the iterative minimization procedure are required. Since DSI evaluates values at nodes and not anywhere else, one stores only the graph nodes with their attributes and connectivity information. Due to this property, they do not support multiscale surface representations.

5.2 Solids

The output from the surface methods in Table 1 is input to the solid-creation methods in Table 2. Solids can then be faulted or carved after creation if the method supports this.

Table 2 This table shows and compares the abilities of solid representation methods in terms of modelling geological features

Implicit Solids (Sect. 4.2.6) do not offer any special classes of implicits aimed at geological models. Nevertheless, they offer a variety of techniques to represent such models. For instance, layers can be represented by a combination of implicit primitives or by the utilization of RBFs. Additionally, cavities can be realized by a subtraction operator applied to two or multiple compound objects [114]. The representation of implicits in multiscale models has also been successfully introduced [121]. Moreover, the interactive modelling capabilities become more and more prominent with the introduction of sketch-based interfaces [17, 122]. One of the major advantages of implicits, when representing even very complex objects, is their storage requirements, which is simply represented by the function evaluation process. On the other hand, to visualize the final solids, one needs to convert the implicit models into a set of triangles or adopt a direct ray-casting method.

Constructive Solid Geometry (CSG) can be used to compose a layer-cake model with simple layers in terms of shape definition. It is also adaptable to multiscale solutions and channels/cavities representation (e.g., employing the logical set operator minus). CSG is defined by simple primitives and set operators, but the global shape is difficult to intuitively control when the model starts to become complex ([22]). If the primitives are basic geometrical objects, CSG does not require much memory, and their logical interactions are relatively quick.

3-G-maps are the representation of choice for several geological solid modelling approaches  [108, 111]. This is a boundary representation where the boundaries are typically triangulations. Details at different scales are supported and depend on the detail level of the underlying geometry. During modelling, the triangulations and their topology must be synchronously updated. There are no particular challenges with respect to the processing or storage of 3-G-maps.

A voxel representation is essentially a regular 3D discretized volume representation with given values in each sample. It can store layer information by simply tagging each voxel with a bit pattern defining a certain segmentation mask that defines the layer. Due to its expressiveness, it can also easily handle faults. In both horizons and faults, the final representation might need to be further processed in order to avoid visual artefacts arising from the space discretization. It can also support complex shapes, like cavities and channels. Voxel representations have been used for expressing channels [16]. This data structure does not offer a natural modelling approach that would be simple to use for a modeller. Therefore, it is often combined with other modelling representations. A voxel representation is very space demanding, but it does not require a computational stage for evaluation, as it explicitly stores values in memory.

Diffusion Surfaces (Sect. 4.1.5) apply to layered models, but the approximation introduced by Takayama et al. [74] in their tool restricts each layer to have a rotational symmetry. Diffusion surfaces lack ease of modelling when dealing with multiscale models because a user has to define every boundary surface that delimits a piece of the solid model. Cavities are representable with diffusion surfaces, in particular if they have symmetries in shape. In producing the volumetric colour distributions, it is not necessary to perform precomputations, as opposed to Poisson approaches. Storage requirements are low because colours are interpolated locally at cross-sectional locations.

Vector Volumes (Sect. 4.1.5) is a volumetric representation of objects represented as a tree of signed distance functions (SDF trees). Thus, vector volumes combine the benefits of voxel and implicit models. Since each SDF tree contains information about the interior and the exterior of an object in a hierarchical fashion, vector volumes provide a powerful way to represent solids at different levels of detail, although the storage requirements can become very high. Moreover, such a representation requires a tedious way to interactively update the model. Although a volumetric object markup language is described [76], we do not consider it a straightforward solution. A volumetric object is usually achieved instead by developing and updating the model via different representations, e.g., boundary representation, and then performing the conversion into vector volumes. Due to the unique voxel and SDF identification when performing a volume ray-casting, this representation becomes efficient in direct visualization. Nevertheless, it is still required to evaluate the implicit function at each node in addition.

6 Challenges and Trends in Geological Modelling

Geoscience technology on closed model representations and model updating has not progressed at the same speed as in computer graphics. Better knowledge transfer between these groups could be advantageous. Caumon et al. [5] state that beginners with 3D modelling too often lose their critical sense about their work, mostly due to a combined effect of well-defined graphics and non-optimal human-machine communication. It is also important that a structural model can be updated when new data becomes available, or perturbed to account for structural uncertainties. In other words, with current modelling technology, uncertainty is difficult to express, and models are hard to update.

Researched literature from this domain emphasizes a strong need for modelling technology for communication and further analysis of the Earth’s subsurface. While several matured methods are now in use by the domains of geology and geosciences, all tools require considerable effort to build structural models. Current tools focus on precise modelling in favour of rapid modelling. We believe that rapid modelling is the key for the ability of expertise exchange, especially in the early phases of the interpretation process.

As interesting research directions that would benefit from future attention of the graphics community, we point out two distinct ones: one research direction can be procedural geological modelling that takes advantage of sparsely defined acquired information about the subsurface. Ideally, an automated procedural method could be refined by the user through a series of sketches. Another research direction can be the consideration of temporal aspects in geology. Erosion has been investigated in this context, but geological processes are driven by many more phenomena than only surface erosion. Here, also the intended process can benefit from user input in the form of sketched information.