IFS Encyclopedia

Cantor Dust

Fractal dimension: ≈ 1.261

Visualization

Open in IFStile ↗
AIFS program
@
$dim=2
g=3
A=g^-1*([0,0]|[2,0]|[0,2]|[2,2])*A

Overview

Cantor dust is the two-dimensional generalisation of the classical Cantor set. It is constructed as the Cartesian product C×CC \times C of the Cantor set with itself — equivalently, by taking a unit square and at each iteration removing the central cross (13,23)×[0,1](\frac{1}{3}, \frac{2}{3}) \times [0,1] together with [0,1]×(13,23)[0,1] \times (\frac{1}{3}, \frac{2}{3}).

The result is a totally disconnected perfect set: every point is a limit point, yet no two points are connected.

Construction

At step nn retain only the 4n4^n squares of side length 3n3^{-n} located in the four corners of the 3n×3n3^n \times 3^n grid. In the limit a self-similar dust remains.

Each of the four IFS maps scales by 13\frac{1}{3} and translates to a corner of [0,1]2[0,1]^2. In the algebraic form the expansion g=3g = 3 acts on integer vectors, and the four translations [0,0][0,0], [2,0][2,0], [0,2][0,2], [2,2][2,2] live in Z2\mathbb{Z}^2:

fk(x)=g1(x+tk)=x+tk3f_k(\mathbf{x}) = g^{-1}(\mathbf{x} + \mathbf{t}_k) = \frac{\mathbf{x} + \mathbf{t}_k}{3}

with tk{(0,0),(2,0),(0,2),(2,2)}\mathbf{t}_k \in \{(0,0),\,(2,0),\,(0,2),\,(2,2)\}, giving outputs 23\frac{2}{3} exactly (no floating-point approximation).

Properties

Relation to the Cantor Set

The 1D Cantor set C[0,1]C \subset [0,1] is the attractor of the two maps g1(x)=x3g_1(x) = \frac{x}{3} and g2(x)=x3+23g_2(x) = \frac{x}{3} + \frac{2}{3}. Cantor dust is C×CC \times C, and the four 2D maps are exactly all combinations of g1,g2g_1, g_2 applied independently to each coordinate.

Its Hausdorff dimension equals 2×dimH(C)=2×log2log3=log4log32 \times \dim_H(C) = 2 \times \frac{\log 2}{\log 3} = \frac{\log 4}{\log 3}.

References

Similar

Koch Snowflake
planeself-similaralgebraicclassic
McWorter's Pentadendrite
planeself-similardendritepentagonalalgebraicclassic
McWorter's Pentigree
planecurveself-similarpentagonalalgebraicclassic
Edit this page on GitHub ↗