Animation
Speed
Theme
Export

About

This is an interactive model of snowflake growth inspired by Kenneth G. Libbrecht’s Snowflake books.

Snowflakes can be said to grow in two different ways: ‘faceting’ and ‘branching’. Faceting causes the snowflake to grow large hexagonal ‘faces’, whereas branching causes the snowflake to split into several elongated hexagonal ‘branches’. In real life, whether a snowflake is faceting or branching depends on a complex interplay of temperature and humidity. Dynamic changes to these conditions during a snowflake’s growth are what create its beautiful shape.

The solid line in the graph above controls the temperature and humidity during the snowflake’s growth. The temperature and humidity are apt for faceting in the region above the dotted line and apt for branching in the region below the dotted line. The snowflake will split into several branches when the solid line crosses from the faceting region to the branching region. The snowflake will grow facets at the end of its branches when the solid line crosses from the branching region to the faceting region.

Controls

How the snowflake looks and grows can be customized in various ways:

Examples

Each snowflake has an ID number, which is stored in this page’s URL. Here are some examples:

Implementation

Source code available on GitHub.