2016-03-19 16 views
0

Sierpinski carpetの矩形の領域を再帰でカウントする方法はわかりません。sierpinskiカーペット - 矩形の領域

私は、任意のレベルで空の矩形カウントする方法を知っている:

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

私は空の四角を数えることは誤った道だと思う。 Sierpinskiカーペットには再帰的な構造があります。フラクタルの固有の再帰ルールの面積計算をモデル化することは妥当と思われます。満たされたものを数えます。空ではありません。 –

+0

@JohnBollingerありがとう!とても助かりました。やったよ :) – Mordek

答えて

1

Sierpinskiカーペットを計算する式は、Wikipedia Linkで与えられているものと同じです。 Aをレベル0のSierpinskiカーペットの長方形の面積とする。

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

私はこれが助けてくれることを望む!