Frozen Fractals

Modeling growth of snow crystal (snowflakes)

Here we present a model of snow flake growth with code and paper hexagons. We can roughly model snow crystal growth using hexagons, since water molecules line up as hexagons, with six-fold symmetry, when frozen. The blue tiles are water molecules in liquid form. Place a white hexagon on a blue hexagon to represent a frozen water molecule. Surround it by six water molecules (above right).

Freeze those six water molecules (place a white hexagon on each). Liquid water molecules stick to frozen ones, then freeze. They more quickly stick to where they can touch two or more faces (sides) to touch (as shown above right).

Liquid water molecules stick faster where they touch more frozen faces. Above right, six blue water molecules each touch three white faces (three frozen water molecules). Those three white faces are called “rough spots” and have more chemical bonds free for “sticking.” The roughest spots get filled up most quickly, smoothing out any nooks and crannies, and as a result, the crystal grows in the shape of six relatively straight and smooth faces. This is called “faceting” and produces hexagonal snowflakes. Snow crystals start with a hexagonal shape down at the tiny molecular size and, due to faceting, in which water molecules fill in any rough spots, grow larger and larger while keeping that hexagonal shape.

When humidity is low, the crystal grows into hexagonal prisms—you can get this shape by stacking many hexagons on top of each other (left). If humidity is high, then once the ice crystal grows into a large enough hexagonal “plate” (right), then the six corners of the large hexagonal plate grow more quickly, resulting in branching. We show this process by having water molecules stick where they’ll touch only one face (that will be only at the corners of the large plate).

Each branch then has two more branches. In real snowflakes branching often continues at smaller and smaller scales resulting in a roughly fractal pattern. Real snowflakes are only roughly fractal, because the side branches often do not themselves have side branches.  The interplay between faceting (making a hexagon larger and larger) and branching (a bit more chaotic results in fascinatingly beautiful shape.   

In sum, a snow crystal begins as a growing hexagonal plate. Then, if humidity is high enough, branches sprout from the six corners when the crystal grows larger. The most elaborate branched crystals grow when humidity is higher. Simple hexagonal prisms, columns without branches, grow when humidity is lower. 

Try this same snow crystal model with code. You can adjust the point at which branching begins.

Fractal snow crystals (snowflakes)

Koch snowflake

Our variant snowflake

Variation 2

  1. Use an equilateral triangle grid (enclosed in you subscription box). The sides of an equilateral triangle have equal length.
  2. Divide each of the three sides into three equal lengths. On the grid you see here, there are nine small triangles along each side. Each smaller segment contains three small triangles (3 + 3 + 3 = 9, center).
  3. Using the three small triangles as the base, make three medium triangles along each side. See the bold red lines above. These three triangles will come together to a central point in the large triangle.
  1. Shown in the photo on the left, cut out the central medium triangle (which has 3 smaller ones along its base). Do this for each of the three sides of the large triangle (center).
  1. Remove the pieces and turn them around so they point out to make a six-pointed star shape (left).
  2. On the six points of the star, cut out small triangles on each side of the point (center). Repeat this on the remaining star points and turn the small triangles outward to make more triangles pointing outward. We have divided and cut into the sides and turned triangles similarly on various scales. This is a fractal. The bold white star is now transforming into a delicate snowflake!

As a fractal, the above process could continue to be repeated on the sides of the small triangles, thereby making even smaller points. This can continue until it is too small to cut. Each stage of dividing by three, cutting, and rotating of triangles adds a more complex shape. Below are some other snowflakes made by cutting out and rotating the small triangles.

Try these with silver paper for a dazzling winter blizzard of fractal snowflakes!

Code the same Koch snowflake in Scratch.

(There are many ways to generate patterns with six-fold symmetry that, in a general way, remind of us snowflakes. Here’s one example in Scratch.

Fractal branching (trees)

Tree branching results from simple rules, grow and divide, then repeat at a smaller scale. The result is pattern that looks the same at large and small scales. This makes it a fractal pattern.

Use our Scratch code to create fractal trees. Below is a fractal tree with an angle of 30 degrees (each branch turns 30 degrees right and left) and another example with an angle of 20 degrees.

You can use plots (below) to show how the number of branches produced over time grows faster and faster (they grow “exponentially.”

A slight variation in the rules for branching, we get a pattern characteristic of conifers (evergreens). This type of branching is different than the typical fractal trees, in which each single branch ends at the point that it splits into two. By contrast, this tree has branches that continue such that each single branch continues even as it adds two branches. Notice this type of branching is characteristic of conifers, also called evergreens.

We have more on fractal branching here.

Fern-like Epsom salt crystals

In your box, you have instructions for making salt crystals that look much like frost fern or trees. 

You can make a supersaturated solution of Epsom salt in warm water, as described in the below instructions. Pour hot tap water into the bottle with the Epsom salt. Put enough water in so that there is about a 1 to 1 ratio of salt to water. The amount doesn’t have to be exact. We are just trying to get as much salt in the water as possible. 

Note that heating up the salt water helps more salt dissolve. You can warm up your salt solution not only by using hot tap water in the bottle, but also by subsequently putting the bottle of salt solution in a bowl of very warm water.  

We can add 2-3 drops of liquid soap (soap without much extra ingredients like skin moisturizers or perfumes are best). Dish soap works well (we prefer Ivory liquid soap). The purpose of the soap is just to help water spread out in the next step.

We next pour the Epsom salt water into a dish. We want a very thin layer of salt water, so pour off the excess water (you can dispose of the excess water that was on your dish). Especially if you are using plastic dish like the one we provide in your box, having even one drop of soap in your solution helps the water spread in a thin layer. The soap weakens the cohesive force of the water that would make it bead up on a dish (it especially beads up on a plastic dish). Having a thinner layer of water helps it evaporate more quickly (so you get crystallization more quickly).    

If you don’t disturb the dish, the crystallization will look like frost fern ice, such as you sometimes see on very cold windows. Below is a closeup of one of our dishes of Epsom salt crystals.

Music box

The shorter prongs on the comb of a real music box play higher notes when struck. The longer prongs play lower notes. In our music box coded in Scratch, we represent each prong with a white square, and show bumps as blue dots. Each dot (representing bumps, or more technically, protruding “pins” of the music box “cylinder”) plays one note when it strikes one of the white squares. Bumps placed further to the right play a higher note by striking a shorter prong of the comb (prongs are shorter on the right). Left to right represents “pitch.” Up and down represents time. Bumps with more vertical space (up and down space) between them have more time between them.

In our simple Scratch model of a music box, blue dots move down and play notes when they touch the steel comb of a music box.

Because of where the bumps are placed, the program plays “Let it Go” (beginning of the chorus). If we placed the bumps in a different pattern, we would hear a different tune.

The program starts by making a music box, with one “prong” (on a music box “comb”) for each note. To do this we start with a Sprite that makes a note when touched and make a clone for each prong. Each prong plays one unique note, with lower notes on the left.  We play the tune Let it Go, but you can make your own Scratch project with bumps placed wherever you like to make any melody.

Frozen life patterns

The music box uses fixed patterns of bumps as code to reproduce patterns of sounds. Old fashioned recordings (like vinyl records) similarly used a kind of “bumps” to make sounds, but of course used much smaller and fine-grained bumps to make more detailed sounds. In a similar way, looms dating back hundreds of years ago used little holes in cards to reproduce patterns in weavings. That loom used dots (holes on cards in a for a weaving device called the “Jacquard loom”) as code to reproduce patterns in space on a cloth, whereas the music box uses dots to reproduce patterns of sound. In these cases, the patterns are just reproduced from patterns that somebody (or somebodies) designed before. A husband and wife wrote “Let It Go” and recordings use code to reproduce the patterns of sounds. The music box uses a very simple code and vinyl records and digital recording uses a much more detailed, “fine grained” code. In all the devices invented many years ago, the music box, cards with holes in them, the coded patterns are frozen. It isn’t easy to change the pattern of music played by a music box. 

How can we rewrite such fixed patterns? It isn’t easy to change the pattern of music played by a music box. With the computer, we can write and rewrite code to alter patterns any way we wish. To show this, we code a music box version of the song “Let It Go” in Scratch. First, we use a picture of dots that scrolls down, and each time the computer detects a dot it plays a note. That picture of dots is essentially frozen, unchangeable. We show you how to code this in a more rigid way that works like a music box. Then we show how to code it in a much more flexible way.

Even in our lives, we fall into patterns that seem “frozen.” The movie Frozen shows such repeating patterns of behavior. Anna repeatedly approaches Elsa, but she repeatedly rejects Anna’s proposition to play. The same pattern repeats at a larger scale. Just after a potential warming up of the relationship between sisters, at the public coronation, the cold rejection repeats again. And in this social gathering, the whole crowd is drawn into the freeze. The whole kingdom is frozen. 

A pattern repeated at large and small scales is called a “fractal” as you will see in the fern frost scratchboard exercise, the snowflake exercises and in the Scatch coding exercises. The fern plant, “fern frost,” and snowflake are examples of fractals. In “Let It Go,” Elsa sings of frozen fractals: “My soul is spiraling in frozen fractals all around” and we see a beautiful display of frost ferns and snowflakes. 

How can she “thaw” the pattern? As she sings “Let It Go,” Elsa gets a bigger picture and breaks the frozen patterns. As water molecules in thawing ice “let go” of their old pattern, so does Elsa. 

We see countless snowflake patterns and fern-like fractal patterns in the movie. Fractals figure in Frozen II also, in the form of trees and leaves (with fractally branching veins), generated with the aid of computers. In earlier movies, the artist would draw every tree. Later, in movies like Tangled and Bolt, the trees shown relied more on computers, of course always overseen by artists. Now in Frozen II, countless trees and leaves appear in many forms and variations, with the aid of more advanced computer modeling technology.

How to make and use paper viewfinder frame for copying

A viewfinder allows you to isolate or “crop” an area within a larger rectangular space. The viewfinder can be moved around and adjusted back and forth until you find the desired size and most interesting composition for your artwork.

You will need:

2 sheets of paper (heavy paper will make it stronger and reusable)

Pencil or pen







Gather your supplies (A) and measure 1 inch from the edge of the paper and make a mark (B). Make at least 3 marks along the side of the paper (C).




Line up the ruler to the 3 marks and draw your line (D). Measure and mark the line for the other side (E). You can do this for the second sheet of paper or simply cut two sheets of paper at the same time using the paper you just measured and marked as a guide.




After cutting out the L-shaped paper corners (F), turn them to make a rectangular paper frame and sit them on top of the photo (G). Move the frame around the photo while making it larger and small to select and interesting section of the larger image (G). Once you have found your desired viewfinder shape, you may secure it with paperclips. This is a closeup of the section selected (H).

Create your art!