Snowflake Applet

This simple model is based on the idea that the corners of the crystal are likely to be the source of a higher electric field than the flat surfaces, and so they find it easier to attract new molecules. But for extra molecules to join up at the corners breaks the symmetry of the crystal by introducing new corners and there is an energy cost to this which prevents it from happening until the middle of the flat part is sufficiently far from the corners that are already there. How far apart the corners have to be in order for this to happen depends on the availability of fresh molecules in the surrounding environment - ie on the humidity and temperature. So the rate of branching of a growing crystal is a function of the atmospheric conditions (humidity, temperature, pressure etc) which are essentially uniform at any given time (at least over the scale of the size of a single snowflake) so all ends of branches on a flake are splitting according to the same rule at any given time, but the conditions, and so the splitting behaviour, may change over time so the shape of each snowflake shows the history of its environment as it grew. For a much more detailed and accurate description of how all this works, see the beautiful website created by Kenneth Libbrecht (who teaches Physics at Caltech).
[If your browser refuses to run this app in an iFrame then you might try to run it in a new "insecure" window]