A fanctal is a family of self-similar circular fractals, built by dividing a disk into equal angular sectors and inscribing, in some of them, a smaller tangent disk that repeats the same construction inside itself, indefinitely. Varying how many sectors there are and how many are recursed traces out an entire family of shapes — from sparse, spidery patterns to dense, almost space-filling ones — all sharing the same self-similar logic. Explore that family below, or read the summary and download a Python implementation further down the page.

Area calculation A(r, n, a)

About the fanctal

The original fanctal divides a disk of radius \(R\) into \(6\) congruent sectors and inscribes, in \(3\) alternating sectors, a tangent child disk; the construction repeats indefinitely inside each child.

Main result

The shaded area equals \(\pi R^2/4\) — proved by two independent methods. The perimeter added at each generation is invariant, \(\pi R + 6R\), but the sum over all generations diverges.

Generalization

The construction generalizes to a parametric family \(f(r,n,a)\): \(n\) angular sectors, of which \(a\) (preferably alternated) are selected to recurse, with scale ratio \(k(n) = \dfrac{\sin(\pi/n)}{1+\sin(\pi/n)}\). Its closed-form area is \(A(r,n,a) = \pi r^2 \cdot \dfrac{a\left(\frac{1}{n} - k^2\right)}{1 - ak^2}\), valid for every admissible \((n,a)\); setting \(n=6\), \(a=3\) recovers exactly \(\pi R^2/4\).

Fractal dimension

The family's self-similar attractor has Hausdorff dimension \(\dim_H(K) = \dfrac{\log a}{-\log k}\), which equals exactly \(1\) when \(ak=1\) — the same condition connected to the invariant perimeter of the original fanctal.

Yasser Díaz Arcila, Juan Manuel Díaz Gómez, and Elizabeth Solórzano Tovar.

A version restructured for peer review is in preparation for submission to Eco Matemático (Universidad Francisco de Paula Santander).

It will be published under a CC BY 4.0 license.

Reproduce it yourself

This script (available in Python and in R) implements the same recursive construction described above and, in addition, reproduces the three independent methods the article uses to verify the area (by generations, by self-similarity, and by Monte Carlo), so you can regenerate every figure and every number in Table I independently.

fanctal.py
Download

Expected output

The numerical verification reproduces the six (n, a) pairs from Table I of the article. Methods 1 and 2 are deterministic and match the figures shown exactly; Method 3 (Monte Carlo, N = 10⁶ points) is random and is only expected to match within its standard error.

n a k Method 1 Method 2 Monte Carlo z
310.46410.1503210.1503210.149848 ± 0.000357−1.32
420.41420.2387960.2387960.238064 ± 0.000426−1.72
520.37020.1734580.1734580.173436 ± 0.000379−0.06
630.33330.2500000.2500000.249860 ± 0.000433−0.32
840.27680.2791200.2791200.279041 ± 0.000449−0.18
1260.20560.3300820.3300820.329808 ± 0.000470−0.58

R's Monte Carlo uses a different random number generator from Python's fixed-seed PCG64, so it will not reproduce the same digits: it should only fall within statistical error, with |z| below 2, of the exact value.