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