谢尔宾斯基地毯

谢尔宾斯基地毯（、），是由波蘭數學家瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形，是自相似集的一种。它的豪斯多夫维是 log 8/log 3 ≈ 1.8928。门格海绵是它在三维空间中的推广。

 构造 

谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似，区别仅在于谢尔宾斯基地毯是以正方形而非等边三角形为基础的。将一个实心正方形划分为的9个小正方形，去掉中间的小正方形，再对余下的小正方形重复这一操作便能得到谢尔宾斯基地毯。

122px 122px 122px 122px 122px 122px

谢尔宾斯基地毯可以由以下计算机程序构造：

  /**
  确定一个特定位置的点是否被填充。

  @param x	是被选点的X座标
  @param y	是被选点的Y座标
  @param width	是谢尔宾斯基地毯被指定的宽度
  @param height	是谢尔宾斯基地毯被指定的高度
  @return 当被填充，返回1；而未被填充时，返回0
  */
  int isSierpinskiCarpetPixelFilled(int x,int y,int width,int height)
  {
      // 基本情况
   if (x<1)
   {
        return 0;
   }

    // 通用情况
    {
     /*
       若网格被分为9个部分，x,y会被填入部分(x2,y2)的？
     */
     int x2 = x*3/width; // 一个处在0到2之间的整形
     int y2 = y*3/height; // 一个处在0到2之间的整形

       if (x2==1 && y2==1) // 若点在中心方块内，其应被填充。
          return 1;

       /* 偏移x和y，它们应分别落在0..width/3和0..height/3
         并适配递归调用
       */ 
       x-=x2*width/3;
       y-=y2*height/3;

   }

   return isSierpinskiCarpetPixelFilled(x,y,width/3,height/3);
  }

 参考 

Category:分形
Category:波兰科技