4.6 Wielokąty Sierpińskiego

W pierwszym rozdziale pokazaliśmy fraktale zbudowane z wielokątów foremnych o dwóch (kurz Cantora), trzech (trójkąt Sierpińskiego) i czterech (dywan Sierpińskiego) bokach.

Okazuje się, że można skonstruować fraktal w oparciu o dowolny wielokąt foremny. Niech \(n\) oznacza liczbę boków wielokąta. Fraktal będziemy konstruować, bazując na \(n\) transformacjach, z których każda będzie przeskalowaniem oraz przesunięciem.

Dla \(n\)-kąta współczynnik skalujący opisany jest wzorem:

\[ r_n = \frac{1}{{2 \; \left( {1 + \sum\limits_{k = 1}^{\left\lfloor {n/4} \right\rfloor } {\cos \left( {\frac{{2\pi k}}{n}} \right)} } \right)}}, \]

gdzie \(\left\lfloor {n/4} \right\rfloor\) to podłoga z \(n/4\), czyli największa liczba naturalna nie większa od \(n/4\).

Przeskalowane figury należy przesunąć w boki wielokąta foremnego, gdzie parametry przesunięcia dla \(k\)-tej transformacji wyznaczyć można ze wzoru:

\[ (1-r_n) \left[ {\begin{array}{*{20}{c}} { \cos \left( {\frac{{2\pi k}}{n}} \right)} \\ { \sin \left( {\frac{{2\pi k}}{n}} \right)} \\ \end{array}} \right]. \]

Przykładowo, budując fraktal oparty na pięciokącie foremnym, należy skorzystać z pięciu transformacji. Każda skaluje figurę o:

\[ r_5 = \left( 2 + 2\cos\left(\frac{2\pi}{5}\right) \right)^{-1} \approx 0,381966 \]

i przesuwa o (dla k = 1, …, 5):

\[ (1-r_5)\left[ {\begin{array}{*{20}{c}} { \cos \left( {2\pi k / 5} \right)} \\ { \sin \left( {2\pi k / 5} \right)} \\ \end{array}} \right]. \]

Przykłady fraktali dla \(n=4; 5; 6; 8\) znajdują się na marginesie.

Eksperymentując ze współczynnikiem skalowania oraz z kolorowaniem poszczególnych punktów, możemy otrzymać bardzo fantazyjne wzory. Na marginesie pokazany jest pięciobok Sierpińskiego ze współczynnikiem skalującym 0,4 w którym kolory punktów zależą od zastosowanej transformacji.