Interaktive Demo

Diamond-Square-Algorithmus

Der Diamond-Square-Algorithmus baut eine fraktale Landschaft ganz ohne Rauschfunktion: Er beginnt mit vier Ecken und füllt immer wieder Mittelpunkte auf, jeweils mit dem Mittelwert ihrer Nachbarn plus einem Zufallswert, der mit jeder Stufe kleiner wird.

Dein Browser unterstützt das HTML5-Canvas-Element nicht.

Drücke Abspielen, um die Karte von ihren vier Ecken aus neu aufzubauen, oder ziehe den Schritt-Regler. Korallenrote Punkte stammen aus einem Diamond-Schritt, gelbe aus einem Square-Schritt, die Linien führen zu den Punkten, deren Mittelwert sie bekommen.

Steuerung

Square-Schritt der Stufe 7 · Gitterabstand 1

Anzeige

Legende

  • In früheren Schritten gesetzte Punkte
  • Diamond-Schritt: Mitte eines Quadrats
  • Square-Schritt: Mitte einer Raute (Kantenmitte)

1. Diamond-Schritt

Die Mitte jedes Quadrats bekommt den Mittelwert seiner vier Ecken plus einen Zufallswert. Zusammen mit den Ecken bilden die neuen Mittelpunkte ein Muster aus Rauten (englisch diamonds), um 45° gedrehten Quadraten.

2. Square-Schritt

Die Mitte jeder Raute, ein Kantenmittelpunkt, bekommt den Mittelwert der vier Rautenecken, wieder plus einen Zufallswert. Am Rand gibt es nur drei. Danach bilden die Punkte wieder Quadrate, mit doppelt so vielen pro Seite.

3. Rauheit

Nach jeder Stufe werden die Zufallswerte mit der Rauheit multipliziert. Bei 0,5 schrumpfen die Details so schnell wie das Gitter, wie bei fraktalem Rauschen mit einem Gain von 0,5, höhere Werte ergeben zerklüftete Berge. Gerade Falten entlang der ersten Gitterlinien sind ein bekanntes Artefakt des Algorithmus.

Quellen