Start with an equilateral triangle. Divide the triangle into nine equal parts and place three of the scaled triangles outside the original triangle as illustrated in the figure above. This recursive procedure is continued and in the limit will produce the image of a snowflake.
Animation
\({f_1}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { 1/3} \\
\end{array}} \right]{\bf{x}} \) |
scale by 1/3 |
\({f_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { 1/3} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{1/3} \\
{0} \\
\end{array}} \right]\) |
scale by 1/3 |
\({f_3}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { 1/3} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{2/3} \\
{0} \\
\end{array}} \right]\) |
scale by 1/3 |
\({f_4}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { 1/3} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{1/6} \\
{\sqrt 3 /6} \\
\end{array}} \right]\) |
scale by 1/3 |
\({f_5}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { 1/3} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{1/2} \\
{\sqrt 3/6} \\
\end{array}} \right]\) |
scale by 1/3 |
\({f_6}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { 1/3} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{1/3} \\
{\sqrt 3 /3} \\
\end{array}} \right]\) |
scale by 1/3 |
\({f_7}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/6} & {-\sqrt 3/6} \\
{ \sqrt 3/6} & { 1/6} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{1/6} \\
{\sqrt 3/6} \\
\end{array}} \right]\) |
scale by 1/3, rotate by 60° |
\({f_8}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/6} & {\sqrt 3/6} \\
{ -\sqrt 3/6} & { 1/6} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{2/3} \\
{\sqrt 3/3} \\
\end{array}} \right]\) |
scale by 1/3, rotate by −60° |
\({f_9}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/3} & {0} \\
{ 0} & { -1/3} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
{1/3} \\
{0} \\
\end{array}} \right]\) |
scale by 1/3, rotate by 180° |
Iteration 1 9 Triangles | Iteration 2 75 Triangles |
Because of the overlap, there are only 75 triangles in iteration 2 instead of the possible 92=81 triangles. As more iterations are done, there will be more instances of overlapping triangles. The image below was drawn using the chaos game (random) algorithm with 2,000,000 points plotted and with the coloring based on pixel counting (shown in the chart on the right). The pixels in violet have been hit the most and reflect the effect of the overlapping triangles.
The total number of triangles in the nth iteration is given by the expression \[ T_n = \frac{(-2\sqrt{10}+5)(5-\sqrt{10})^n+(2\sqrt{10}+5)(5+\sqrt{10})^n}{10}. \] (Details)
Each of the triangles in the nth iteration has been scaled by (1/3)n, so if the original triangle has area 1, then each of these triangles would have area (1/3)2n = (1/9)n. Therefore the total area of the nth iteration is \[ A_n = \frac{T_n}{9^n} = \frac{1}{10}(-2\sqrt{10}+5)\left(\frac{5-\sqrt{10}}{9}\right)^n+\frac{1}{10}(2\sqrt{10}+5)\left(\frac{5+\sqrt{10}}{9}\right)^n. \] Here is a graph of \(A_n\) for the first 60 iterations.
Since \[ 0 \lt \frac{5-\sqrt{10}}{9} \lt 1 \quad\quad \text{ and } \quad\quad 0 \lt \frac{5+\sqrt{10}}{9} \lt 1 \] then \(\displaystyle \lim_{n\rightarrow\infty}A_n = 0\), and so the area of the snowflake is 0.
The boundary of the snowflake is the same as the boundary of the Koch snowflake, and consists of three copies of the Koch curve. The snowflake lies inside of the Koch snowflake.
The snowflake curve is example 6.9 in Curious Curves by Darst, Palagallo, and Price in which they prove that if the fixed attractor of an iterated function system is connected, then the attractor is a curve. This snowflake is connected because each of the iterates in the construction of the snowflake is composed of connected sets, and thus the snowflake is a curve.