- Alfombra de Sierpinski
-
La alfombra de Sierpinski es un conjunto fractal descrito por primera vez por Wacław Sierpiński en 1916.[1] Constituye una generalización a dos dimensiones del conjunto de Cantor. Comparte con él muchas propiedades: también es un conjunto compacto, no numerable y de medida nula. Su dimensión de Hausdorff-Besicovitch es
No debe confundirse con otras generalizaciones como el polvo de Cantor.
Es universal para todo objeto compacto del plano. Así, cualquier curva dibujada en el plano con las autointersecciones que queramos, por complicada que sea, será homeomorfa a un subconjunto de la alfombra de Sierpinski.
Construcción
La construcción de la alfombra de Sierpinski se define de forma recursiva:
- Comenzamos con un cuadrado.
- El cuadrado se corta en 9 cuadrados congruentes, y eliminamos el cuadrado central.
- El paso anterior vuelve a aplicarse recursivamente a cada uno de los 8 cuadrados restantes.
La alfombra de Sierpinski es el límite de este proceso tras un número infinito de iteraciones.
Construcción de la alfombra de Sierpinski: Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 La siguiente implementación es válida en C, C + + y Java:
/** * Decides if a point at a specific location is filled or not. * @param x is the x coordinate of the point being checked * @param y is the y coordinate of the point being checked * @param width is the width of the Sierpinski Carpet being checked * @param height is the height of the Sierpinski Carpet being checked * @return 1 if it is to be filled or 0 if it is not */ int isSierpinskiCarpetPixelFilled(int x, int y, int width, int height) { // base case 1 of 2 if ((x <= 0)||(y <= 0)||(x>=width)||(y>=height)) //top row or left column or out of bounds should be full { return 1; } { /* If the grid was split in 9 parts, what part(x2,y2) would x,y fit into? */ int x2 = x * 3 / width; // an integer from 0..2 inclusive int y2 = y * 3 / height; // an integer from 0..2 inclusive // base case 2 of 2 if (x2 == 1 && y2 == 1) // if in the center square, it should be empty return 0; // general case /* offset x and y so it becomes bounded by 0..width/3 and 0..height/3 and prepares for recursive call some offset is added to make sure the parts have all the correct size when width and height isn't divisible by 3 */ x -= (x2 * width+2) / 3; y -= (y2 * height+2) / 3; width = (width +2-x2)/3; height = (height+2-y2)/3; } return isSierpinskiCarpetPixelFilled(x, y, width, height); }
Referencias
- ↑ W. Sierpinski. Sur une courbe cantorienne qui contient une image biunivoquet et continue detoute courbe donée.C.R. Acad. París (1916) 629-632.
Véase también
Categorías:- Fractales
- Curvas
- Espacios topológicos
Wikimedia foundation. 2010.