雪の結晶
六角格子の上で3つの規則を繰り返して雪の結晶を育て、つまみを変えた4つの形を並べた。
なにか
六角形のマスを並べ、1マスずつ次の3つを繰り返す。①凍ったセルとその隣は「受容」になり、水蒸気を受け取って動かなくなる ②残りのセルの水蒸気は隣6つの平均へ拡散する ③水分が1を超えたら凍る。乱数はどこにも入れていない。それだけで、雪の結晶の主要な形が出てくる。
つまみは3つあり、α は拡散の速さ、β はもとの水蒸気量、γ は付着量である。β を下げていくと 樹枝 → 羊歯 → 扇 → 板と連続的に変わる(充填率は 0.29 → 0.36 → 0.53 → 0.65)。雪の結晶が気温と湿度で形を変えることの、いちばん簡単な模型である。
対称性は、格子ではなく成長の規則が決めていた
更新の規則には対称化の操作が一切ない。1セルずつ「隣6つの平均」を見るだけである。それでも結果は厳密に6回対称になる。対称性は格子の対称性と、種のかたちから来ている。種を2つ置いて対称だけを壊すと、同じ規則でもばらばらの形になる。
この作品の本題はここにある。異方性 DLA では、同じ六角格子の上で乱数に歩かせても6回対称は立たなかった(A₆ は床すれすれの 0.219)。いっぽう乱数を捨てて界面の規則にしたこの模型では 10⁻¹⁶ で立つ。対称性を決めているのは格子ではなく成長の規則だった。異方性 DLA で空欄にしておいた「雪はなぜ六方になるのか」に、ここでひとつ答えが出る(発見22)。
面白いのは、形が似ていないのに統計は近いこと。箱数え次元は 1.59〜1.74 で、DLA の 1.71 と同じ桁に入る(発見6「自己相似の3つの顔」の統計的自己相似)。枝の見え方は違うのに、太さと隙間の配分は同じという言い方になる。
どう作ったか
格子は軸座標の六角格子で、隣6つが等距離であることを確かめてある。拡散は反射境界なので水分の総量が厳密に保存する(差 5.7×10⁻¹⁴)。結晶が縁に届いたら止める(境界の影響が出た形は信用しない)。凍ったセルはすべて種から連結していて、同じつまみなら結果は完全に同じになる。
出典
- 数理
- Clifford A. Reiter, "A local cellular model for snow crystal growth", Chaos, Solitons & Fractals 23 (2005) 1111–1119。実物の雪の形と気温・湿度の関係(中谷宇吉郎のダイアグラム)や、界面の異方性を入れた連続模型(Gravner–Griffeath 2009 など)とは別物で、ここで確かめたのはこの離散模型の性質だけ。実物の測定と突き合わせたわけではない
- 生成
- generators/snowflake.js(六角格子・受容セルの判定・六方拡散・6回対称のずれの測定・箱数え次元・4つの形と対照図。依存ゼロ・乱数ゼロ)