Skip to main content
Mathematics LibreTexts

9.5: Fractals

  • Page ID
    52935
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Fractals are mathematical sets, usually obtained through recursion, that exhibit interesting dimensional properties. We’ll explore what that sentence means through the rest of the section. For now, we can begin with the idea of self-similarity, a characteristic of most fractals.

    Self-Similarity

    A shape is self-similar when it looks essentially the same from a distance as it does closer up.

    Self-similarity can often be found in nature. In the Romanesco broccoli pictured below [1], if we zoom in on part of the image, the piece remaining looks similar to the whole.

    clipboard_e4f4d3d1a6aa49cb35c9aa45f996359d1.png

    Likewise, in the fern frond below [2], one piece of the frond looks similar to the whole.

    clipboard_e1bf4eb5614e1f4c7b34a86870cc3cebd.png

    Similarly, if we zoom in on the coastline of Portugal [3], each zoom reveals previously hidden detail, and the coastline, while not identical to the view from further way, does exhibit similar characteristics.

    clipboard_e2bae29651141845db19e239d8a006205.png

    This self-similar behavior can be replicated through recursion: repeating a process over and over.

    Example 1

    Suppose that we start with a filled-in triangle. We connect the midpoints of each side and remove the middle triangle. We then repeat this process.

    fr1.svg

    If we repeat this process, the shape that emerges is called the Sierpinski gasket. Notice that it exhibits self-similarity – any piece of the gasket will look identical to the whole. In fact, we can say that the Sierpinski gasket contains three copies of itself, each half as tall and wide as the original. Of course, each of those copies also contains three copies of itself.

    fr2.svg

    We can construct other fractals using a similar approach. To formalize this a bit, we’re going to introduce the idea of initiators and generators.

    Initiators and Generators

    • An initiator is a starting shape
    • A generator is an arranged collection of scaled copies of the initiator

    To generate fractals from initiators and generators, we follow a simple rule:

    Fractal Generation Rule

    At each step, replace every copy of the initiator with a scaled copy of the generator, rotating as necessary

    This process is easiest to understand through example.

    Example 2

    Use the initiator and generator shown to create the iterated fractal.

    fr3.svg

    Solution

    This tells us to, at each step, replace each line segment with the spiked shape shown in the generator. Notice that the generator itself is made up of 4 copies of the initiator. In step 1, the single line segment in the initiator is replaced with the generator. For step 2, each of the four line segments of step 1 is replaced with a scaled copy of the generator:

    fr4.svg

    This process is repeated to form Step 3. Again, each line segment is replaced with a scaled copy of the generator.

    fr5.svg

    Notice that since Step 0 only had 1 line segment, Step 1 only required one copy of Step 0.

    Since Step 1 had 4 line segments, Step 2 required 4 copies of the generator.

    Step 2 then had 16 line segments, so Step 3 required 16 copies of the generator.

    Step 4, then, would require \(16 \times 4 = 64\) copies of the generator.

    The shape resulting from iterating this process is called the Koch curve, named for Helge von Koch who first explored it in 1904.

    fr6.svg

    Notice that the Sierpinski gasket can also be described using the initiator-generator approach

    fr7.svg

    Example 3

    Use the initiator and generator below, however only iterate on the “branches.” Sketch several steps of the iteration.

    fr8.svg

    Solution

    We begin by replacing the initiator with the generator. We then replace each “branch” of Step 1 with a scaled copy of the generator to create Step 2.

    fr9.svg

    We can repeat this process to create later steps. Repeating this process can create intricate tree shapes [4].

    fr10.svg

    Try it Now 1

    Use the initiator and generator shown to produce the next two stages

    fr11.svg

    Answer

    fr20.svg

    Using iteration processes like those above can create a variety of beautiful images evocative of nature [5][6].

    clipboard_e9b4ba7cda9789c7fb470d09e7a71e805.png

    More natural shapes can be created by adding in randomness to the steps.

    Example 4

    Create a variation on the Sierpinski gasket by randomly skewing the corner points each time an iteration is made.

    Solution

    Suppose we start with the triangle below. We begin, as before, by removing the middle triangle. We then add in some randomness.

    fr12.svg

    We then repeat this process.

    fr13.svg

    Continuing this process can create mountain-like structures.

    The landscape [7] below was created using fractals, then colored and textured.

    clipboard_ef93d761db8d01747944792f803ec07fd.png

    In addition to visual self-similarity, fractals exhibit other interesting properties. For example, notice that each step of the Sierpinski gasket iteration removes one quarter of the remaining area. If this process is continued indefinitely, we would end up essentially removing all the area, meaning we started with a 2-dimensional area, and somehow end up with something less than that, but seemingly more than just a 1-dimensional line.

    To explore this idea, we need to discuss dimension. Something like a line is 1-dimensional; it only has length. Any curve is 1-dimensional. Things like boxes and circles are 2-dimensional, since they have length and width, describing an area. Objects like boxes and cylinders have length, width, and height, describing a volume, and are 3-dimensional.

    fr14.svg

    Certain rules apply for scaling objects, related to their dimension.

    If I had a line with length 1, and wanted scale its length by 2, I would need two copies of the original line. If I had a line of length 1, and wanted to scale its length by 3, I would need three copies of the original.

    fr15.svg

    If I had a rectangle with length 2 and height 1, and wanted to scale its length and width by 2, I would need four copies of the original rectangle. If I wanted to scale the length and width by 3, I would need nine copies of the original rectangle.

    fr16.svg

    If I had a cubical box with sides of length 1, and wanted to scale its length, its width, and its height by 2, I would need eight copies of the original cube. If I wanted to scale the length, width, and height by 3, I would need 27 copies of the original cube.

    fr17.svg

    Notice that in the 1-dimensional case, copies needed = scale.

    • In the 2-dimensional case, copies needed \(=\) scale\(^{2}\).
    • In the 3-dimensional case, copies needed \(=\) scale\(^{3}\).

    From these examples, we might infer a pattern.

    Scaling-Dimension Relation

    To scale a \(D\)-dimensional shape by a scaling factor \(S,\) the number of copies \(C\) of the original shape needed will be given by:

    Copies \(=\) Scale \({}^{\text{Dimension}}, \) or \(C=S^{D}\)

    Example 5

    Use the scaling-dimension relation to determine the dimension of the Sierpinski gasket.

    Solution

    Suppose we define the original gasket to have side length 1. The larger gasket shown is twice as wide and twice as tall, so has been scaled by a factor of 2.

    fr18.svg

    Notice that to construct the larger gasket, 3 copies of the original gasket are needed.

    Using the scaling-dimension relation \(C=S^{D},\) we obtain the equation \(3=2^{D}\)

    since \(2^{1}=2\) and \(2^{2}=4,\) we can immediately see that \(D\) is somewhere between 1 and \(2 ;\) the gasket is more than a 1 -dimensional shape, but we've taken away so much area its now less than 2-dimensional.

    Solving the equation \(3=2^{D}\) requires logarithms. If you studied logarithms earlier, you may recall how to solve this equation (if not, just skip to the box below and use that formula):

    \[\begin{array}{ll}
    3=2^{D} & \text{Take the logarithm of both sides} \\
    \log (3)=\log \left(2^{D}\right) & \text{Use the exponent property of logs} \\
    \log (3)=D \log (2) & \text{Divide by log(2)} \\
    D=\frac{\log (3)}{\log (2)} \approx 1.585 & \text{The dimension of the gasket is about 1.585}
    \end{array}\]

    Scaling-Dimenstion Relation To Find Dimenstion

    To find the dimension \(D\) of a fractal, determine the scaling factor \(S\) and the number of copies \(C\) of the original shape needed, then use the formula

    \[D=\frac{\log (C)}{\log (S)} \nonumber\]

    Try it Now 2

    Determine the fractal dimension of the fractal produced using the initiator and generator

    fr19.svg

    Answer

    fr21.svg

    Scaling the fractal by a factor of 3 requires 5 copies of the original. \(D=\frac{\log (5)}{\log (3)} \approx 1.465\)


    [1] en.Wikipedia.org/wiki/File:Ca...ractal_AVM.JPG

    [2] http://www.flickr.com/photos/cjewel/3261398909/

    [3] Openstreetmap.org, CC-BY-SA

    [4] http://www.flickr.com/photos/visualarts/5436068969/

    [5] en.Wikipedia.org/wiki/File:Fr...e_b_-_2%29.jpg

    [6] en.Wikipedia.org/wiki/File:Ba...-_4_states.PNG

    [7] en.Wikipedia.org/wiki/File:Fr...lLandscape.jpg


    This page titled 9.5: Fractals is shared under a CC BY-SA license and was authored, remixed, and/or curated by David Lippman (The OpenTextBookStore) .

    • Was this article helpful?