Und da findet sich unter
heightmap algorithm nichts?
Eine nette Linksammlung gibt es z.B.
hier.
EDIT: noch einfacher Algorithmus zum schnell implementieren.
Code:
Eingabe:
L
A Anfangsvariation
D Variationsdämpfung (<= 1 für sinnvolle Ergebnisse)
Ausgabe:
Heightmap L (2^L mal 2^L)
Variablen:
V Variation
Ablauf:
L := ein "Teilstück" mit der Größe 2^L mal 2^L
V := A
solange Teilstücke größer 1
für jedes Teilstück T von L
teile T in 4 gleichgroße neue Teilstücke T_1 bis T_4.
für die neuen Teilstücke T_i tue
T_i.höhe := T_i.höhe + 2*zufall(0 bis 1)*V - V
V := A*V
Wenn dir das Ergebnis zu verrauscht aussieht, kannst du es noch glätten.