GT GeoSurf
Motivation Usage Samples
Description

GT GeoSurf non-interactively generates triangulated surfaces with naturally shaped geometries. It inputs a coarse textual description of geometrical and geological features and then randomly produces flat ground reliefs as well as mountain ranges. The output can be in VRML-, GOCAD- and GeoToolKit format. GT GeoSurf needs GeoToolKit and ObjectStore to run.
GT GeoSurf is part of a diploma thesis in progress. Therefore currently it is used only indoors and cannot be distributed freely.

 

Motivation

In the development process of geometrical algorithms and data structures, test data are needed that closely reflect the type of data which the software is likely to encounter. This is true especially for methods that operate on triangulated surfaces. Applied in geo-scientific systems, these surfaces will be geological strata or faults most of the time. Thus a rich amount of heterogenous sample meshes is desirable.

Unfortunately, a sample set like this is hard to obtain. There are two conventional ways to collect sample surfaces with geological features:
First, you can ask other teams researching on meshing to share their data. This has two disadvantages: often the underlying project is related to a particular region where all the data come from. The SFB 350 project, for example, gathers its geological data exclusively from the Lower Rhine Basin. Along with project-specific restrictions (e.g. mesh density), which usually hold for all data, this gives a very homogenous test set. Moreover, these data often have a political and/or economical value for the company or nation who gathered them. Thus mostly you will not get your hands on these samples.
Second, you can try to model your own ground reliefs interactively by a CAD system capable of 3D surface meshing, e.g. GOCAD or ac3d. Again, this approach has fatal drawbacks: there is always a mesh size that stalls the CAD system already for computing a simple rotation. But even for moderate meshes the interactive modelling wastes a lot of time if the result shall look natural.

Thus we had to invent a non-interactive tool that creates triangulated surfaces with geological features and arbitrary size.

 

Usage

The usage of GT GeoSurf is quite easy: you feed the application with a textual outline of what to generate. Then you let it run, unattendedly. The input exclusively consists of a plain ascii file - there is no hassle with commandline parameters. In the following we will give a brief description of the GeoSurf language.

  • Object container TRIANGLENET
    Each surface description must be contained in an object container. It begins with a type name, followed by the object's name and closed with the keyword END. Although currently there is only one type, TRIANGLENET, this encapsulation is neccessary to keep the language open for future extensions.
  • Border definition
    The border of the basic surface is defined by four corner stones. They are given by the keyword CORNER, followed by an index within [0,3] and by three scalar coordinates in x-y-z order. These points may be arbitrary except that they must not be collinear and that the induced border must be convex.
  • Density
    The DENSITY keyword serves to specify the mesh density at the shortest of the four border edges (there is a shortest edge since the four border points need not define a square). DENSITY n means: the shortest edge contains n subdivisions. The partition of the second dimension is then chosen automatically to meet the given overall density.
  • Target format
    GeoSurf outputs its result into four different formats: VRML 1.0, VRML 2.0 (VRML97), GOCAD T-Surf and GTK (GeoToolKit's textual exchange format). With the TARGET keyword you tell the generator which format to choose.
These four elements must be found in your input file. The following elements are optional:
  • Relief transformation
    With the keyword RELIEF you tell GT GeoSurf to transform the basic surface into a random ground relief. In n iterations the generator then at a time choses a random area of random size and elevates or lowers it by some random height. The maximum height is given by the modifier GROWTH and the total iterations are given by ITERATIONS.
  • Mountain transformation
    The basic surface (or the relief, if transformed) can be enhanced by something like a mountain range. The keyword MOUNTAINS stands for that transformation. With the modifier SIZE you tell the generator which portion of the surface should be covered by mountains (in percent). HEIGHT specifies the maximum height of mountains, and their number is given by QUANTITY. If the quantity is one, the modifier CENTERED forces the generator to place the mountain into the middle of the scene.
  • Smoothing
    If for cosmetical reasons you want to smooth the scene, you can do that by specifying the SMOOTH keyword, followed by a smooth factor in the range [0,1].
  • Random seed
    To make results reproducible, the keyword SEED serves to toggle the random seed used throughout the generation process.
Examples of input files can be found in association with each of the samples in the next section.

 

Samples

All the samples shown here are generated with maximum smoothing. They are output in GOCAD format and converted to GIF with GOCAD and xv. All samples come with their input file as well as with a VRML 2.0 output (except the last one, it would be too big).

Ground relief with 441 Points and 800 triangles.
The GeoSurf input file.
This surface in VRML 2.0 format.
Isolated hill with 1681 Points and 3200 triangles.
The GeoSurf input file.
This surface in VRML 2.0 format.
Ground relief with 5184 Points and 10082 triangles.
The GeoSurf input file.
This surface in VRML 2.0 format.
Mountain range with 25921 Points and 51200 triangles.
The GeoSurf input file.

Last updated: Oct 25 1999 by muellerw