2024 π Daylatest newsbuy art
Trance opera—Spente le Stellebe dramaticmore quotes
very clickable
thermodynamics + art
The information graphic showing the history of the human genome assembly is part of my series of designs created for the Scientific American Graphic Science page. Together with Senior Graphics Editor Jen Christiansen, we've looked at everything from the evolution of the genomes of SARS-Cov-2 strains to how pets contribute to the bacterial flora in your home.

It's Snowing in my CPU — a Snowflake catalogue

Art is scence in love.
— E.F. Weisslitz

Go ahead, meet some snowflakes.

gradlo
vawelle
sumery
leory
lianra
loqeula
liaha

Somewhere in the world, it's snowing. But you don't need to go far—it's always snowing on this page. Explore random flurries, snowflake families and individual flakes. There are many unusual snowflakes and snowflake family 12 and family 46 are very interesting.

But don't settle for only pixel snowflakes—make an STL file and 3D print your own flakes!

Ad blockers may interfere with some flake images—the names of flakes can trigger ad filters.

And if after reading about my flakes you want more, get your frozen fix with Kenneth Libbrecht's excellent work and Paul Gallico's Snowflake.

method and original code

The snowflakes shown here are generated using the method described in Modeling Snow Crystal Growth II by Gravner and Griffeath (J. Gravner and D. Griffeath, Physica D 237, 385 (2008)) (download pdf). The authors provide a C/X11 implementation of the snowflake simulation.

See below for my version of this that removes X11 dependency and comes with a handy wrapper.

Scientific American Visual blog article

The work here has been described in In Silico Flurries: Computing a world of snowflakes, a Scientific Americans SA Visual blog article, co-written with Jake Lever.

I'd like to extend my gratitude to Jake for tirelessly lending his machine learning expertise and thank Lisa Shiozaki and Rodrigo Goya for helpful discussions.

command-line Gravner-Griffeath snowflake simulation

I have modified the authors' code to remove dependency on X11 and to make simulating a large number of flakes easier.

The C code bin/snowflake will grow a snowflake and report the amount of ice in each cell to a plain-text file. It will not create images.

The Perl wrapper bin/makeflake provides helpful functions to set and perturb snowflake parameters. It will also parse the output of bin/snowflake and create PNG images of the flake.

################################################################
# Running without the wrapper

# simulate a flake
bin/snowflake > snowflake.txt

# simulate a flake with specific parameters
bin/snowflake [-a ...] [-b ...] [-k ...] [...] > snowflake.txt

# simulate a flake with some parameter values set and others default
bin/snowflake [-a ...] [-b ...] > snowflake.txt

# now use snowflake.txt to create your own images of the flake

################################################################
# Running with the Perl wrapper
# (you will likely need to install modules, e.g. Graphics::ColorObject)
#
# perl -MCPAN -e shell
# ...
# install Graphics::ColorObject

# The wrapper will:
#
# 1. call bin/snowflake with parameters in this runfile 
# 2. generate images in img/
#
# See etc/makeflake.conf to control how the wrapper works.

bin/makeflake -paramfile img/snowflake-zmfznygc.txt -debug

Using the mass values in the output (negative is vapor, positive is ice), it is up to you to generate the image of the flake. The blue in the images here was mapped onto mass `m=0..255` using `L=10..100`, `C=60` and `H=-80` in LCH space.

Martin Krzywinski | contact | Canada's Michael Smith Genome Sciences CentreBC Cancer Research CenterBC CancerPHSA
Google whack “vicissitudinal corporealization”
{ 10.9.234.151 }