Sierpinski-Teppich
Der Sierpinski-Teppich ist ein Fraktal, das auf den polnischen Mathematiker Wacław Sierpiński zurückgeht und das dieser in einer ersten Beschreibung im Jahre 1916 vorgestellt hat. Es ist verwandt mit dem Sierpinski-Dreieck und dem Menger-Schwamm.[1][2]
Konstruktionsskizze
Aus einem Quadrat wird in der Mitte ein der Fläche entfernt. Aus den um das Loch verbliebenen 8 quadratischen Feldern wird wiederum je ein der Fläche entfernt und so weiter.
Stufe 0 | Stufe 1 | Stufe 2 | Stufe 3 | Stufe 4 | Stufe 5 |
Die fraktale Dimension des Sierpinski-Teppichs beträgt – insbesondere ist sein Flächeninhalt (im Lebesgue-Maß) gleich 0.[3]
Die Konstruktion ähnelt stark der Konstruktion der Cantor-Menge, dort wird aus einer Strecke der mittlere Teil entfernt, oder dem Sierpinski-Dreieck, bei dem aus einem Dreieck der Mittelteil entfernt wird.
Die Verallgemeinerung des Sierpinski-Teppichs in 3 Dimensionen ist der Menger-Schwamm.[4]
Mathematische Zusammenhänge
Als klassisches Fraktal ist der Sierpinski-Teppich ein Musterbeispiel für exakte Selbstähnlichkeit: Die in jedem Schritt erzeugten Teilquadrate enthalten verkleinerte exakte Kopien des gesamten Fraktals. Eine passende Skalierung eines beliebigen quadratischen Teils des Fraktals erscheint wie das Gesamtobjekt selbst. Es ist somit skaleninvariant.
Nach Iterationsschritten bleiben Teilquadrate gleicher Seitenlänge übrig und es werden Quadrate verschiedener Seitenlänge entfernt.
Die folgende Tabelle zeigt die Anzahlen der verschiedenen Teilquadrate des Sierpinski-Teppichs nach Iterationsschritten für :
Anzahl der Teilquadrate | ||||
---|---|---|---|---|
Iterationsschritt | übriggeblieben | neu gelöscht | insgesamt gelöscht | insgesamt |
k | 8k | 8k − 1 | (8k − 1) / 7 | (8k + 1 − 1) / 7 |
0 | 1 | 0 | 0 | 1 |
1 | 8 | 1 | 1 | 9 |
2 | 64 | 8 | 9 | 73 |
3 | 512 | 64 | 73 | 585 |
4 | 4096 | 512 | 585 | 4681 |
Flächeninhalt
Mit jedem Iterationsschritt verringert sich der gesamte Flächeninhalt, der am Anfang beträgt, um , oder anders ausgedrückt, er multipliziert sich mit dem Faktor . Der Flächeninhalt des verbliebenen Sierpinski-Teppichs lässt sich als Folge darstellen: Ist die Seitenlänge des ursprünglichen Quadrats, so gilt für die explizite Darstellung und für die rekursive Darstellung , . Er teilt sich auf Teildreiecke mit der Seitenlänge auf. Der Flächeninhalt der übriggebliebenen Teildreiecke geht gegen 0, wenn die Anzahl der Schritte sehr groß wird und gegen unendlich geht. Formal lässt sich das mit ausdrücken.
Zusammenhang mit dem Quadratgitter
Der Sierpinski-Teppich steht im Zusammenhang mit dem Quadratgitter, das die euklidische Ebene vollständig mit kongruenten Quadraten ausfüllt (siehe Abbildung). Dieses Quadratgitter ist spiegelsymmetrisch, punktsymmetrisch, drehsymmetrisch und translationssymmetrisch und eine sogenannte platonische Parkettierung (englisch: uniform tiling).
Das Quadratgitter ist eine feinere Zerlegung des Sierpinski-Teppichs nach dem Iterationsschritt . Dabei werden die gelöschten Quadrate des Iterationschritts , deren Seitenlänge um den Faktor größer als die Seitenlänge der übriggebliebenen Quadrate ist, jeweils in kongruente Quadrate mit dieser Seitenlänge zerlegt. Das äußere Gebiet, das theoretisch ins Unendliche der zweidimensionalen Ebene geht, wird ebenfalls in solche Quadrate zerlegt. Der Sierpinski-Teppich nach dem Iterationsschritt überdeckt ziemlich offensichtlich Quadrate des Quadratgitters.
Programmierung
Das folgende Java-Applet zeichnet einen Sierpinski-Teppich mit Hilfe einer rekursiven Methode:[5]
import java.awt.*;
import java.applet.*;
public class SierpinskiCarpet extends Applet
{
private Graphics graphics = null;
public void init()
{
graphics = getGraphics(); // Erzeugt ein Grafikobjekt für das Zeichnen im Applet.
resize(729, 729); // Größe des Fensters auf Breite und Höhe 3^6 = 729 setzen
}
public void paint(Graphics graphics)
{
// Rekursion starten
drawSierpinskiCarpet(0, 0, getWidth(), getHeight()); // Aufruf der rekursiven Methode
}
private void drawSierpinskiCarpet(int x, int y, int breite, int hoehe)
{
if (breite >= 3 && hoehe >= 3) // Wenn Breite und Höhe mindestens 3 Pixel, dann Quadrat ausfüllen und in 8 Teilquadrate zerlegen
{
int b = breite / 3;
int h = hoehe / 3;
graphics.fillRect(x + b, y + h, b, h); // Quadrat ausfüllen
for (int k = 0; k < 9; k++) // for Schleife für das Zerlegen in 8 Teilquadrate
{
if (k != 4) // Das mittlere Teilquadrat wird nicht ausgefüllt.
{
int i =(k -1)/ 3; // Spaltenindex des Teilquadrats
int j = k % 3; // Zeilenindex des Teilquadrats
drawSierpinskiCarpet(x + i * b, y + j * h, b, h); // Rekursive Aufrufe der Methode für das Zerlegen des aktuellen Quadrats in 8 Teilquadrate mit 1/3 der Breite und Höhe.
}
}
}
}
}
Topologie
In der Topologie betrachtet man den Sierpinski-Teppich als Unterraum des mit der euklidischen Metrik versehenen . Er stellt ein im nirgends dichtes, lokal zusammenhängendes, metrisches Kontinuum dar und gilt – zusammen mit dem Sierpinski-Dreieck – nicht zuletzt deswegen als besonders bemerkenswerter topologischer Raum.[1]
Literatur
- P. S. Alexandroff: Einführung in die Mengenlehre und in die allgemeine Topologie (= Hochschulbücher für Mathematik. Band 85). VEB Deutscher Verlag der Wissenschaften, Berlin 1984.
- Claudi Alsina, Roger B. Nelsen: Perlen der Mathematik: 20 geometrische Figuren als Ausgangspunkte für mathematische Erkundungsreisen. Springer Spektrum, Berlin, Heidelberg 2015, ISBN 978-3-662-45460-2, doi:10.1007/978-3-662-45461-9.
Einzelnachweise
- P. S. Alexandroff: Einführung in die Mengenlehre und in die allgemeine Topologie. 1984, S. 191–192.
- Claudi Alsina, Roger B. Nelsen: Perlen der Mathematik. 2015, S. 225–226.
- Wolfram MathWorld: Sierpiński Carpet
- Larry Riddle, Agnes Scott College: Sierpinski Carpet
- Rosetta Code: Sierpinski carpet