Terrain

Wolken sind keine Kugeln, Berge keine Kegel, Küstenlinien keine Kreise. Die Rinde ist nicht glatt – und auch der Blitz bahnt sich seinen Weg nicht gerade. [ Benoît B. Mandelbrot, The Fractal Geometry of Nature ]

Information

Heigtmap Heightmaps oder Höhenfelder sind zweidimensionale Felder, welche der Beschreibung von Höhenreliefs dienen. Die Höhendaten werden in einer Rastergrafi k als Helligkeitswerte abgespeichert. Das heißt, je höher der Wert ist, desto heller ist der Grauwert. Die zweidimensionale Grafik bildet demnach die Grundlage für die Generierung der Oberfläche eines dreidimensianelen Objektes. Um das Relief zu erstellen wird die Rastergrafik abgetastet und der Helligkeitswert bestimmt dann den z- bzw. Höhenwert an einer bestimmten Position des Polygonnetzes. Diese Technik wird oft in der Computergrafik verwendet, da der Speicheraufwand sehr gering ist.

Exersice

Images

Get the Code: imagesDisplay.pde

Get the Code: imagesFastblur.pde | fastblur.pde

Get the Code: images.pde

Get the Code: images3DCamera.pde

Get the Code: imageBlob.pde

Random Walker

Get the Code: randomWalker.pde

Terrain

Step 1:
Two-dimensional, middle scaled Noise used to generate a PImage.

Step 2:
A new two-dimensional, high scaled Noise used to generate another PImage. It's used as a mask for the first noise image to set high areas and low areas.

Step 3:
Multiply the brightness values of each pixel to get get bigger black areas (e.g. sea, lakes).

Step 4:
A random walker is used to generate another PImage. It's used again as a mask for the noise image to set high areas and low areas and eliminate unnatural looking patterns of the noise field.

Step 5:
A new two-dimensional, low scaled Noise used to generate another PImage. It's used as a mask for the first noise image to set more details in the high areas.

Step 6:
With the distance function the brightness of each pixel is mapped: center = high brightness, edges = no brightness.

Get the Code: terrain.pde