2016-03-19 11 views
0

Bir dikdörtgenin alanını Sierpinski carpet özyinelemeyle nasıl sayılacağımı bilmiyorum.sierpinski halı - bir dikdörtgenin alanı

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

Ama gerçekten boş olmayan dikdörtgenler ile bir dikdörtgenin alanını saymak nasıl bilmiyorum:

Ben herhangi bir düzeyde boş dikdörtgen saymak biliyorum.

bu çalıştı: (a - yan uzunluk)

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)); 
    } 
} 

Birisi bana yardımcı olabilir misiniz?

+1

Boş kareleri saymanın yanlış bir yol olduğunu düşünüyorum. Sierpinski halının özyineli bir yapısı vardır; Fraktalın doğal özyineleme kuralı üzerinde alan hesaplamasını modellemek mantıklı görünüyor. Dolu olanı sayın, boş olanı değil. –

+0

@JohnBollinger Teşekkürler! Çok yardımcı oldu. Yaptım :) – Mordek

cevap

1

Sierpinski halılarının kalorifasyonu için formül, Wikipedia Bağlantısı'nda verilenle aynıdır. Umarım bu yardımcı olur A Level 0.

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

bir Sierpinski Halı içinde dikdörtgenin alanı olsun!

İlgili konular