Sierpiński carpet
From Wikipedia, the free encyclopedia
The Sierpinski carpet is a plane fractal first described by Wacław Sierpiński in 1916. The carpet is a generalization of the Cantor set to two dimensions (another is Cantor dust). Sierpiński demonstrated that this fractal is a universal curve, in that any possible one-dimensional graph, projected onto the two-dimensional plane, is homeomorphic to a subset of the Sierpinski carpet. For curves that cannot be drawn on a 2D surface without self-intersections, the corresponding universal curve is the Menger sponge, a higher-dimensional generalization.
The technique can be applied to repetitive tiling arrangement; triangle, square, hexagon being the simplest. It would seem impossible to apply it to other than rep-tile arrangements.
Contents |
[edit] Construction
The construction of the Sierpinski carpet begins with a square. The square is cut into 9 congruent subsquares in a 3-by-3 grid, and the central subsquare is removed. The same procedure is then applied recursively to the remaining 8 subsquares, ad infinitum. The Hausdorff dimension of the carpet is log 8/log 3 ≈ 1.8928.
The area of the carpet is zero (in standard Lebesgue measure).
[edit] Brownian motion on the Sierpinski carpet
The topic of Brownian motion on the Sierpinski carpet has attracted interest in recent years. Martin Barlow and Richard Bass have shown that a random walk on the Sierpinski carpet diffuses at a slower rate than an unrestricted random walk in the plane. The latter reaches a mean distance proportional to n1/2 after n steps, but the random walk on the discrete Sierpinski carpet reaches only a mean distance proportional to n1/β for some β > 2. They also showed that this random walk satisfies stronger large deviation inequalities (so called "sub-gaussian inequalities") and that it satisfies the elliptic Harnack inequality without satisfying the parabolic one. The existence of such an example was an open problem for many years.
[edit] Computer program
The following Java applet draws a Sierpinski carpet by means of a method that recursively calls itself:
import java.awt.*; import java.applet.*; public class SierpinskiCarpet extends Applet { private Graphics g=null; private int d0=729; // 3^6 public void init() { g=getGraphics(); resize(d0,d0); } public void paint(Graphics g) { // start recursion: drawSierpinskiCarpet ( 0, 0, getWidth(), getHeight() ); } private void drawSierpinskiCarpet(int xTL, int yTL, int width, int height) { if (width>2 && height>2) { int w=width/3, h=height/3; g.fillRect ( xTL+w, yTL+h, w, h ); for (int k=0;k<9;k++) if (k!=4) { int i=k/3, j=k%3; drawSierpinskiCarpet ( xTL+i*w, yTL+j*h, w, h ); // recursion } } } }