Snowflakes! Beautiful, unique and symmetric crystals of ice. Have you ever wondered how these intricate creations are formed? In this article we’ll be exploring some of the science and maths behind this beautiful phenomenon as well as introducing you to a tool to make your own (virtual) snowflakes!

When looked at all together, snowflakes can seem like a bunch of white dots, but under a microscope we can find unique and pristine hexagonal shapes. To create snowflakes, the conditions in the clouds need to be just right: a chilly -10 degrees Celsius (approximately), and lots and lots of water vapour. In these conditions, small ice crystals form around tiny solid particles in the air, like dirt or salt. The more ice crystals on the particle, the heavier it gets, and slowly, it starts to descend until eventually a flake reaches the ground.

*Snowflakes come in unique and pristine hexagonal shapes! Source: https://www.washingtonpost.com/rf/image_2048w/2010-2019/WashingtonPost/2011/11/08/Health-Environment-Science/Images/snowflakes6.jpg *

But, why do snowflakes always have what mathematicians call *six fold symmetry* — that is, have just one pattern repeated and rotated six times? This is some pretty cool chemistry, and it’s all got to do with how the hydrogen and oxygen atoms that make up water molecules interact with each other. It’s a little complicated to explain (particularly as we’re mathematicians, not chemists!), but if you want more information we’d recommend this simple explanation and this slightly more complicated explanation.

That’s all well and good, but then why are snowflakes unique? Well, let’s think about how snowflakes form — more and more ice crystals attach onto a solid particle, and then onto other ice crystals also attached to the solid particle as the budding snowflake descends through the air. As it descends, it moves through different conditions, for example, areas of higher and lower humidity (i.e. more or less water vapour). It’s impossible that two particles will follow the exact same journey and experience the exact same temperatures, hence we’ll never find the exact same snowflake.

But what if we did know the conditions that the snowflake will pass through? Could we predict what the snowflake would look like? The short answer is ‘sort of’, and we’re going to give a simple method a shot! We’re going to make some simplifying assumptions here, and use some mathematics called ‘cellular automata’ to build an (interactive!) model of snowflake formation following the method outlined in this paper (you’ll need access to the Adelaide University Library or something similar if you want to read the whole paper).

That all sounds a bit complicated so let’s unpack that — we promise it’s not too bad! Since snowflakes are generally quite flat we’re going to assume that snowflakes are just two dimensional and don’t have any thickness. Another way of thinking about this is just pretending we’re drawing snowflake shapes on a piece of paper. But, this is a special piece of paper that looks like a honeycomb, or what mathematicians call a *hexagonal tessellation* (here’s a picture and explanation if that helps). Using a hexagonal grid helps us obtain the six-fold symmetry we talked about earlier without thinking about the complex chemistry we glossed over!

*A hexagonal tiling of the 2D plane. Source: https://en.wikipedia.org/wiki/Hexagonal_tiling#/media/File:Tiling_6_simple.svg*

So, we’ve got a fancy grid. In fact, the grid gives us the ‘cellular’ part of the cellular automata model. We’ll think of each hexagon as a *cell *and each cell will have six neighbours (again, check out that picture to help you visualise it). Each cell will contain some amount of water vapour: empty cells have 0 units, frozen cells have* at least* 1 unit of water, and any cell can have as much water as it likes. Importantly, full cells, with 1 unit of water, are considered frozen and therefore a part of our snowflake.

To actually build our snowflake we need the ‘automata’ part of our cellular automata model. All this is is a set of rules that explain how our cells, and importantly the water vapour in them, interact with each other. This model works in what mathematicians call *discrete time*: rather than time moving forwards continuously like it does in real life, it’s going to move forwards in jumps. A way of thinking about this is like a stop-motion movie; rather than capturing continuous motion we’ll be taking lots of (metaphorical) photos of the snowflake and putting them together. This makes the maths easier to work with, and means that we can easily simulate our model and grow our own snowflakes!

So we’ve got our head around discrete time. At each jump, three things happen. Firstly, water vapour will ‘leak out’ of each (non-empty) cell into its neighbours. Secondly, because of this leakage, each cell also receives water from their (non-empty) neighbours. This process is called diffusion, and explains many natural phenomena (like, for example, how a bad smell spreads through a room). What makes this model special, and makes it look like a snowflake, not a bad smell, is the idea of *receptive cells*. These are cells which are next to a frozen cell, and these don’t lose any water vapour at all! In fact, these cells (and frozen cells) take part in the third aspect of each time jump: receiving water vapour. In this way, more and more cells fill up and freeze, and our snowflake grows!

We’ve been a bit vague so far, and we haven’t actually talked about how much water cells lose and receive. These changes are governed by *parameters*: numbers that we choose! By varying these numbers we can create different snowflakes. One of the most amazing things about this model is that it can produce a huge range of different snowflake patterns, despite being so (relatively) simple. The problem is, because we’ve made lots of assumptions to make this model simpler, it’s a little hard to interpret what these parameters actually mean in terms of genuine snowflake formation. So, the best way to work it out is to give it a shot yourself! We’ve built an online implementation of this model where you can try changing these parameters yourself, and building your own snowflakes!

Thank you for sticking with us through that explanation, and we hope you’ve enjoyed experimenting with the model. Enjoy the winter holidays, and stay warm!

**About Isabelle:** After completing their undergraduate degree in applied maths and statistics (and French!), Isabelle has just started their Research Masters in Extreme Event Forecasting at UNSW. They love chatting about maths and science to anybody who will listen, and are enthusiastic about pretty much everything in this domain! Isabelle is also involved in LGBTQIA+ activism and feminism, will read just about anything you put in front of them, and has a mild obsession with the Cat Empire.