Hacker News new | past | comments | ask | show | jobs | submit login
What's Wrong With This Snowflake? (npr.org)
60 points by DrJokepu on Jan 4, 2010 | hide | past | web | favorite | 30 comments

Writing letters about the fact that artistic snowflakes aren't the same as "real" snowflakes is like writing to complain that the symbol of a heart for "I love you <3 " looks nothing like the human heart.

While scientifically correct, he's also a little pedantic.

I think the fact that the error was in a scientific magazine warrants the letter.

Also, it trumps pedantic by being funny.

But understandable, since seeing the ad in Nature was probably the last straw.

I wonder how many manifestos are the result of someone snapping?

Agreed. Aesthetics > Reality.

I wrote a fun little web app to draw snowflakes a few weeks ago: http://www.create-a-snowflake.com/ . I settled on 8 sides, although the first version had an option to have anywhere from 4 to 20 sides.

But the scientific reality is aesthetics too. Seeing how the snowflake is a textbook example of beauty found in nature, I would personally find myself obliged to represent the snowflake according to it, even for the purpose of your application.

The 8-sided paper snowflake exists because it's easy to fold a square piece of paper into eighths (i.e. three times, one diagonal) and cut it. It's so kids can make snowflakes. The correct six is much harder.

I agree with the heart analogy.

I was hoping this story would be about actual snowflakes discovered with unusual structures.

Okay, so the crystals tend to follow a 6-sided geometry. Why are snowflakes symmetrical? Why does one arm have to fall into the exact same configuration as the opposite one? Why not have 6 different arms, all following the same 6-sided geometry? What mechanism communicates between the arms to achieve 6-sided symmetry?

Well, they don't have to: http://www.its.caltech.edu/~atomic/snowcrystals/class/class....

Given that different conditions produce different crystals (see for instance the description for the "capped columns"), my best guess is simply that each of the 6 sides experienced all-but-identical growth conditions, and thus the correct question is rather why would they be different?

Someone else mentioned 12- and 3-siders, and trying to Google up those images is how I got to that site in the first place. See: http://www.its.caltech.edu/~atomic/snowcrystals/unusual/unus... (Note you have to "-paper" in the Google search, or you'll just be hammered with instructions for paper snowflakes of varying degrees of scientific inauthenticity.)

Edit: Ah, the site addresses that: http://www.its.caltech.edu/~atomic/snowcrystals/faqs/faqs.ht...

"While [a snowflake] grows, the crystal is blown to and fro inside the clouds, so the temperature it sees changes randomly with time. But the crystal growth depends strongly on temperature (as is seen in the morphology diagram). Thus the six arms of the snow crystal each change their growth with time. And because all six arms see the same conditions at the same times, they all grow about the same way. The end result is a complex, branched structure that is also six-fold symmetric. And note also that since snow crystals all follow slightly different paths through the clouds, individual crystals all tend to look different."

And see also the next question, "What synchronizes the growth of the six arms?". I'm hitting the limit of what I feel comfortable just copying and pasting into HN.

Well, it turns out if you look closely that usually the arms aren't exactly the same. Which is rather a clue: the coordinating mechanism isn't some kind of quantum magic that enables the structure in the centre to determine exactly what the arms are like. Rather, (1) the arms all start out roughly the same because the crystal structure of ice has 6-fold symmetry, and then (2) the way growth happens at any place and any given moment is largely determined by (a) the structure there and (b) the external conditions, which vary as the snowflake is forming because it's being blown around. But because the snowflake is quite small, those external conditions are generally much the same for all six arms; so similar arms + similar conditions for each arm --> similar incremental growth for all arms --> still-similar arms, so the symmetry is preserved as the crystal grows. See, e.g., http://www.ams.org/notices/200504/fea-adam-3.pdf .

I've often wondered about this too. Pseudo-scientific "explanations" of natural phenomenon often ignore the obvious questions. Another interesting question: why do people swallow facile explanations for things with little/no critical dialog?

You're right, frost on a window grows asymmetrically, why not snowflakes?

Without knowing the answer, here is my guess: the way a flake grows depends on a number of environmental factors. Although these factors, like temperature, humidity and wind, all vary as the drop/flake falls down, the factors are nearly constant over the size of the flake. Each part of the flake experiences the same environment and as a result all parts grow in the same fashion.

My alternate guess is that snowflakes actually aren't symmetrical, although they display many local 6-way symmetries.

Edit: ah, the answer by jerf verifies that these guesses were reasonable.

I don't know, but its probably like a cellular automata on a hexagonal 2d plane (like wolfram 'new kind of science' stuff). I wonder why they're flat/ not 3d- I guess something do do with falling and air resistance. I wonder what role initial conditions or randomness while developing play in the wide variety of unique snowflake designs. If randomness while developing has much to do with it, it seems like the 'limbs' of 1 snowflake should develope differently. Doesn't seem like there'd be that many combinations at the initial molecular level to support that many designs.

Source code here: http://psoup.math.wisc.edu/Snowfakes.htm (roughly in the middle of the page).

Just one of the many lovely gem's in the source:

   for (i=1;i<nr;i++)
      for (j=1;((j<=i)&&(i+j<=nr-1));j++){
When you see the following line you know you are in for a treat (best part i1 and j1 are not even used in one of the functions where it is declared).

int i,j,i1,j1,iup,no;

It looks as if someone who grew up coding in FORTRAN on punched cards just ran their brain through f2c then wrote that code. It's very old-school FORTRAN-like.

Hmm I guess I was being to obtuse from the downvotes. Having not found the code from the article I was very interested in checking it out when the link was posted here. Sadly the code is written in such as way that makes it extremely difficult to easily learn anything from. Reading the code is often the best way to understand how a program/problem runs. I went to the source to answer the following questions: How is the snowflake generated? What factors need to be taken into account? Looking at the code if you want to figure anything you would have to put a lot of time and effort into it. Badly named variables and function names are just one of the problems. Take for example 'initialize()', what does it initialize? Is it only initializing snow flake code, only X11 code, both or just a dumping ground function? What about the check() function? What does it check? and chi()? There is a shape12, but not a shape6 or shape3 function, why not? What does parupdate do? What about norminf()? None of this answers the original questions. How do I simulate growing a snowflake?

If the code was written in a sane way you would be able to skim through it in two minutes and have a good overview of how a snowflake is made. Given that it would probably take a good hour at least to understand it and I am only so-so interested in learning I wont bother. This is especially sad given that this is coming out of edu where I would presume that part of the purpose is to teach how a snowflake is grown.

That's true for ordinary programs, but this is math, not software. Glancing at the code in this case is kind of like glancing through some program's object code or disassembly and trying to understand how it works: theoretically possible in principle, but not really doable in practice. In math the proper analogue to "glancing at the code" is "skimming the paper", which is here: http://psoup.math.wisc.edu/papers/h2l.pdf

If this was generated from some math formulas or from some other code (such as a fortran translator as another comment hinted), but if this was the code that was created by the author I stand by my original statement.

I'm ashamed to say that I'm guilty of misrepresenting snowflakes.

I wrote an iPhone app last year that allowed you to create virtual paper snowflakes, and I didn't realize until later that all the flakes it created were "abominations" that had 8, 10, or 12 sides.

I was a little surprised by the amount of feedback I received explaining to me exactly what was wrong with the snowflakes in my app. Unfortunately, I haven't gotten around to fixing this egregious error just yet ;) .

Well... It's not water ice... 8 sides, symmetrical four-by-four at a 45 degree angle, no stems and only borders...

I won't say it's impossible to naturally form it, but I am certain it wouldn't involve clouds of water vapor. Perhaps around proteins or some biological process...

Also, real stars are enormous balls of plasma and gas, and look nothing like ☆. I've been waiting about 19 years for an explanation from anyone what the two have in common, and still have gotten none. Maybe I should write a letter to Nature...

A picture of a bright light taken by a camera lens with a non-circular aperture will generate stars like that. In this case, the 5-pointed star is from a pentagonal aperture.

It's entirely likely this symbol came from pictures of stars, as opposed to real ones.

Wow, cool! Thanks! :)

We can relate though, like the now infamous CSI line "I will create a GUI interface in Visual Basic, see if I can track an IP address"

Surely that makes you cringe at least a little bit :)

Is this a serious complaint or is this someone having a bit of fun?

learned something new today. thanks.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact