Skip to content
← Home

Technology

How a rock drawing emerges from an elevation model – step by step. The algorithm goes back to R. Geisthövel (ETH Zurich, 2017); our implementation is an independent reimplementation, extended to country scale. Example: the Weisshorn.

Step 1 · Generalization

Before anything is drawn, the elevation model is prepared. The raw terrain is smoothed along the slope lines 1 – a Line Integral Convolution that removes noise without blurring ridges and gullies. From the smoothed model a first raking-light relief 2 emerges, giving the terrain depth. Slope 3 shows how steep each point is. Flat areas 4 are detected and marked, since they are not hatched later.

Smoothed elevation model
Raking-light relief
Slope
Flat areas

Step 2 · Raking light & edges

The terrain is lit from several directions: three raking-light layers 123 each emphasise different landforms. Edge detection 4 finds the prominent terrain lines, from which the slope-line paths 5 are extracted – the tracks along which the hachures are later drawn.

Raking-light layer 1
Raking-light layer 2
Raking-light layer 3
Edge detection
Slope-line paths

Step 3 · Topology

The individual edge lines must be linked into a connected network. From the path points a triangulation 1 is built that connects neighbouring lines. This yields an edge graph 2 – the pipeline now knows which terrain lines belong together and how the relief skeleton is connected.

Triangulation
Edge graph

Step 4 · Relief skeleton

Each line is classified – main ridge, secondary ridge or minor form – and written into a skeleton 1. This framework 2 determines where the later relief becomes light or dark; a mask 3 marks the fixed anchor points at which the shading is pinned.

Classified skeleton
Skeleton framework
Anchor mask

Step 5 · Area shading

Between the skeleton lines the surface is shaded. Ridges provide light, gullies dark boundary values; between them a solver (Laplace problem) interpolates smoothly and evenly 1. The line framework thus becomes a continuous, plastic relief surface 2.

Area shading
Skeleton + surface

Step 6 · Polish

The relief is refined. A convergence index 2 emphasises crests and hollows, flat areas are calmed, and a texture diffusion smooths the transitions. The result is the finished shaded relief 1 – the plastic base onto which the rock strokes are then applied.

Polished relief
Convergence index

Step 7 · Form & contour strokes

Along the edges, stroke bands emerge that emphasise form and contour: form lines 1, ridge lines 2 and “Mach bands” 3 that boost contrast at edges. They are laid over the hachures in the finale and give the drawing its crispness.

Form lines
Ridge lines
Mach bands

Step 8 · Rock hachures

The actual drawing step: a streamline renderer draws the strokes along the slope lines 1, with variable density and slight random variation – so it looks hand-drawn rather than mechanical. The rock mask 2 limits where hatching occurs at all; steep rock edges are emphasised separately.

Rock hachures
Drawing mask

Step 9 · Final composite

All layers are combined pixel by pixel: hachures, form and contour strokes, ridge lines and Mach bands blend into the finished rock image 1. Placed transparently, it later sits over the shaded-relief and contour layers of the map.

Finished rock drawing

The map result

Only the combination yields the map: the rock hachures over the shaded relief. The shading carries the three-dimensional form, the strokes the rock structure.