Geomorph - The Fault Tutorial

This tutorial shows how to use the "fault pen" for drawing a basic fault, and how to improve its realism with the rain erosion.

Topics The result

The result - Martian style ;-)


This tutorial uses the default scene definition simple_terrain.pov provided with Geomorph 0.20 and higher.

1. Height field creation

Create a new document of your choice. Here I used "subdivision #2" with default parameters.

2. Decrease the contrast

If you want to visually emphasize the altitude difference of the fault, you need to lessen the contrast.

3. Drawing the fault

I chosed to draw the fault diagonally for this example. You can move the fault by dragging the ends of the red control line.

Check the "cracks" box for creating basic cracks. We'll use the rain erosion tool to increase their realism.

Adjust the cracks length and width to your taste.

The cracks length (depth) is an arbitrary value, proportional to the length of the current subdivision segment.

The cracks width is proportional to the number of subdivision steps. A width of 1 means that each crack is drawn during the last subdivision, a width of 2 means that each crack is drawn during the next to last subdivision (so it's wider), and so on.

The higher part of the terrain is always the one containing the top left pixel (0,0). If you want to revert the altitude difference, you can move one end of the control line so that this pixel falls on the other side of the fault, or you can revert the sign of the altitude difference.

The subdivision steps parameter allows a fine control of the fault detail. This is a binary (dichotomic) subdivision, so there is no point to use a parameter of 10, for instance, on a 256x256 height field, because this would give a fault polyline of power(2,10) = 1024 segments!

The random variation parameters control how the segment cuts are moved, on the fault axis or perpendicular to it. They increase or decrease the irregularity of the fault.

The smoothing parameter controls how smoothly the altitude changes at the fault line. It does not smooth the fault polyline. It is applied when releasing the mouse.


4. Eroding the fault

We'll use the water erosion tool to improve the fault realism.

Repeat the process at will.

If you want to add drops, you should hit "Repeat". If you hit "Apply", you reapply the same number of drops to the original, uneroded, height field.

Like shown on the terrain rendered with Povray at right, the whole terrain is eroded. Furthermore, the erosion channels seem to run separated with a square angle. This looks unnatural (this is a weakness of the actual erosion algorithm). It would be better if only the fault were subsiding.

Notice that the Povray image was generated with the following preview parameters, automatically transfered to the simple_terrain.pov scene definition:

5. Eroding the fault with a slope threshold

If you want to restrict the erosion to the fault, you only have to increase the threshold, so that only the very steep slopes would be eroded. Given the low contrast of the original terrain, the remainder of the terrain wouldn't be affected.

Hit "Reset" to restart from the original terrain. It'll work even if you have repeated the erosion more than once, as long as you didn't hit "Accept".

The image at right was produced with 3x100000 drops, on a 512x512 height field.

The threshold relates the the altitude difference (the slope) between 2 pixels over which no material is moved because of water or subsidence. In absolute value, the difference is given by power(2,threshold). In our example, there is no more erosion when the difference between a point and its 8 neighbours is less than power(2,9) = 512, on a scale from 0 to 65535. In a 512x512 height field, whose relative max height is also 512 (the rendered terrain fits in a cube), a threshold of 8 is equal to a 76° slope, and a threshold of 10 is equal to a 83° slope. The formula to calculate the slope in degrees is: arctan(power(2, threshold + log2(image_width) - 16)).

6. Welcome on Mars!

Even if we used a tool called "Rain erosion", the result could also be believable for a gravity erosion (subsidence). So, nothing precludes adding craters, like those we could see on planets without rain!

In our example, 20 craters were distributed on the surface.

The surface noice to keep was increased from 2 to 4 pixels, otherwise the craters surface looked too smooth.

Craters dropped on steep altitude differences look unnatural (at least in Geomorph!). To avoid dropping craters right over the fault, activate the "Draw if slope less than..." parameter.

The chosen value (10) means the a crater wouldn't be drawn if the maximum altitude difference under the crater is greater than 10% of the maximum terrain height (65535).

The view angle was adjusted in the preview (at right) to hide the skyline, otherwise cut craters could be seen at the terrain edge.


Written in May 2004

Back to the documentation index