18 December 2004
Every Christmas a small flurry of paper snowflakes arrives in the post from my Aunt Sandi in Canada. Each year the designs get more imaginative and the geometries get more elaborate.
Think about it for a moment. One takes a folded piece of paper, carefully cuts seemingly random shapes out of it, then when unfolded it deterministically transforms into a complex shape that may or may not have been what one intended. If one really messes up, a piece can unexpectedly fall out during the unfolding. This should strike a chord with the programmers reading this. A programmer writes what would seem to most people to be random lines of text, then the program is compiled and the resulting execution may or may not do what was expected. If one really messes up the compile fails or the execution dumps core. Granted, snowflakes aren't Turing-complete (at least I don't think they are), but the skill sets involved are surprisingly similar.
One of the features is the ability to change from the traditional six-pointed shapes to any other regular 2D geometry. This got me thinking about what it would mean to have, say, a five-pointed snowflake. I believe I'm correct in thinking that the 120° crystal geometry of ice stems from the tetrahedral arrangement of electrons in the outer orbital shell of the Oxygen atom within each water molecule. Thus in order to get different numbers of points, one would have to crystalize something other than water. I wonder how many points a methane snowflake has? Maybe we'll find out soon; Huygens is scheduled to start its landing on Titan next week.
While on the subject of paper constructs, here's one I designed a few months ago.