A few years ago I saw a talk at a Math conference about some mathematical models for how the shapes of snowflakes come to be.
I don't recall the details, but I believe one of them was even able to generate non-hexagonal snowflakes which happen under some circumstances.
I've been hoping to create a website around one of these models for some time now.