Our Analysis and Results
We chose to analyze the amount of six-folded symmetry in the dendritic growth model, since one of the neatest features of snowflakes is this symmetry. In order to do this, we calculated from the center of the snowflake the number of particles that could be found in an angle of width one degree from i to (i+1). Now we have a discrete function that tells us the number of particles at a given angle. If we temporarily treat this function as continuous it can be decomposed into a sum of sines and cosines like this,
.
For our discrete case however we will sum to ½ N instead of to infinity,


where N/2 = 180 in this case. What we want to know is the ratio of 
to the sum of the other coefficients 

This is because each coefficient Ci represents the magnitude of the sine wave whose period is 360 degrees divided by i.  So if the sine wave of period 60 degrees (i = 6) has a large magnitude, then the data has the six-fold symmetry we are looking for.  Now the famous question becomes, "large compared to what??"  The answer is that if each sine wave contributed equally, then each would have amplitude 1/180, since there are N/2 = 180 different sine waves.  So if C6 is much larger than 1/180, that means it contributed much more than its share to the data, thus revealing a symmetry. This will quantify how strongly a function of period 60 degrees contributes to our observed function, and thus how strong the six-fold symmetry is. 
Now, with everyone's vast knowledge of Fourier series, for a continuous function, an or bn could be found with the following integrals,


.

For our discrete case, however, we will use the following summations where fi means the value of our data at degree i, so that i goes from 0 to 359.


.

Here N = 360 and the normalization factor represents the number of radians per division, in our case one degree.

Thanks to the amazing C++ skills of Dave Meyer (let's all give him a hand) we took the data from our applet, and put it into a program which shot back the coefficients for each sine wave, using just the math described above.  Here's the source code:   converter.c   Just to convince you that it works, we made a couple of test cases.  First we tried just a straight up f(x) = sin(6x).  It spat out C6 / C = 1, and all the other Ci's contributed nothing.  (C represents the sum of all Ci's.)  Then we gave it a trickier function:  f(x) = sin(6x) + 7sin(x) + 5  just to make sure it could deal with the situation.  Sure enough, it gives C6 / C = 1/8 and C1 / C = 7/8, just like it should.  So we're convinced the math and the code are correct.

RESULTS:  Now it's the moment we've all been waiting for.  Twenty flakes have been analyzed.  The coefficients 2 through 8 and 12 were calculated for each flake.

The important results are summarized in the following table of averages and standard deviations for each coefficient over 20 snowflakes:
 

Coefficient Number Average Standard Deviation
2 0.02419 0.0100
3 0.03139 0.0185
4 0.04097 0.0176
5 0.04533 0.0216
6 0.02630 0.0124
7 0.02416 0.0134
8 0.02795 0.0102
12 0.01500 0.0075

From this you can see that the most dominant coefficients are for 3,4, and 5 fold symmetries rather than the six-fold we thought would happen.  However, more data should be taken in order to get a large enough sample size to say that confidently.

Please look at the graphs to the right to see more graphically what is going on.  We've included two graphs of C5 and C6 for the twenty flakes we took data on, and we found one snowflake which came the closest to the average values summarized above, and got values for all 180 coefficients, which is included on another plot.

CONCLUSIONS:
While we did not see anything terribly special about C6, we did find that the lower coefficients contributed a lot more to our mass distribution functions than the higher coefficients.  Just by visual inspection, this was to be expected, since there are a small number of clearly defined arms on each snowflake.  Probably the number of arms shows up as the largest coefficient, since most of the snowflakes end up with 4-6 distinct arms.

To try to improve the symmetry, perhaps our model could start out with a much larger hexagonal seed.  After all, the real dendritic snowflakes start out with a seed that's a fraction of a millimeter across, which means it includes huge numbers of particles.  So our model should start out with a much larger hexagon.  This would mean we'd also have to accumulate many more particles in order to make the initial seed insignificant to the data.

Other interesting things it might be worth examing:  Does the symmetry depend on the size of the snowflake?  What if we let it grow into a million particles?  What if the initial seed is a different shape/size?  What about radial symmetry instead of angular?  These questions could all be explored with some modifications to the existing code. 
 
 


MAIN PAGE    SNOWFLAKE SHAPES   DIFFUSION

OUR SPIFFY MODEL OF DENDRITIC GROWTH

OUR HOT APPLET OF DENDRITIC GROWTH

THE RESULTS OF OUR HOT APPLET OF DENDRITIC GROWTH

LINKS


An example "snowflake's" distribution.  You can see that it has clearly defined arms, but not necessarily six of them.


Click to see the graph of un-normalized coefficients for one of the more "average" snowflakes.


Click to see the values of C6 / C for twenty snowflakes.


Click to see values of C5 / C for the same twenty flakes.