sierpinski地毯 - 矩形区域

时间:2016-03-19 19:12:30

标签: c

我不知道如何使用递归计算Sierpinski carpet中矩形的面积。

我知道如何计算任何级别的空矩形:

int sier(int level)
{
    if(level==1) return 1;
    else
    {
        return sier(level-1) + pow(8,level-1);
    }
}

但我真的不知道如何计算非空矩形的矩形区域。

我试过这个:(一边长)

double area(int level, int a)
{
    if(level == 1) return (1.0/9.0) * pow(a,2);
    else
    {
        return pole(level-1,a) * (1.0/pow(2,2*level));
    }
}

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

用于计算Sierpinski地毯的公式与Wikipedia Link中给出的公式相同。设A为0级Sierpinski地毯中矩形的区域。

double Sier(int level)
{
    return Math.Pow(double.Parse(8.0/9.0), (double)level) * A;
}

我希望这有帮助!