異方性DLA — 格子の向きは、乱数を薄めると現れる
なにか
マンガン樹(石の割れ目に育つ黒い樹枝)、窓の霜、電池の電極に生える金属の枝、そして雪の結晶。どれもDLAと同じ「拡散してきて触ったら凍る」で育つのに、枝の向きの数は決まっている。雪は6方向。何が向きを決めているのか。
候補のひとつは格子(結晶の並び)。同じ DLA を4近傍(正方格子)と6近傍(三角格子)で走らせて、腕の向きを測る。
1つのクラスタの「腕」は、たいてい偶然
測り方から。外側1/4の粒子の角度 θ を集めて ck = Σeikθ/N を出す。k 回対称の腕が立っていれば |ck| が大きい。ところが1つのクラスタだけを見てはいけない: 枝の向きは偶然でも偏るので、2本腕・3本腕が格子と無関係に大きく出る(実測で A₃=0.53 など)。
格子由来の異方性は位相が固定(格子の軸に揃う)なので、種を変えて ck を複素数のまま平均すれば偶然だけが消える。さらに床を同じデータから作る——各クラスタをわざとランダムに回してから同じ平均を取る(格子の位相ロックだけを壊した対照)。床の2倍を超えなければ「立っていない」。
| 格子 | 乱数 | A₂ | A₃ | A₄ | A₆ | A₈ | いちばん強い成分 |
|---|---|---|---|---|---|---|---|
| 4近傍 | そのまま | 0.121 / 0.103 | 0.316 / 0.141 | 0.114 / 0.097 | 0.065 / 0.090 | 0.090 / 0.082 | どれも床すれすれ |
| 4近傍 | 3回で凍る | 0.252 / 0.159 | 0.166 / 0.108 | 0.705 / 0.211 ★ | 0.206 / 0.125 | 0.402 / 0.131 ★ | A₄(床の3.3倍) |
| 6近傍 | そのまま | 0.106 / 0.095 | 0.050 / 0.117 | 0.073 / 0.128 | 0.055 / 0.101 | 0.092 / 0.084 | 立たない |
| 6近傍 | 3回で凍る | 0.118 / 0.095 | 0.121 / 0.113 | 0.113 / 0.105 | 0.104 / 0.102 | 0.017 / 0.050 | 立たない |
数字は「位相をそろえた平均 / 床」(★=床の2倍超)。粒子1400・種8本。乱数をそのまま流すと、格子の向きは床を超えない。薄めると 4近傍で A₄=0.705(床の3.3倍)が立ち、しかも腕の向きは0.4°——格子の軸そのもの。図の十字がこれ。
6近傍では立たなかった
いっぽう三角格子(6近傍)では、払える範囲で 6回対称が立たなかった。探した範囲は 薄め方 hits=1・3(粒子1400・種8本)と hits=6(粒子700・種8本)。A₆ はどの設定でも床の1.1〜1.5倍に留まる(hits=6 では 0.124 / 床0.109)。
実物の雪の結晶が六方なのは、格子の異方性だけでなく界面(氷と水蒸気の境目)の表面張力とくっつきやすさの異方性が効くという説明が知られている。この模型にはその項がない。「格子を6近傍にすれば雪になる」ではなかった——ここは正直に空欄にしておく。
⚠️ 途中で道具由来の偽物を1つ捕まえた。三角格子の座標を軸座標 (q,r) のまま四捨五入していたら、A₄ が向き23°で 0.475 まで立った(6回対称の格子で4回対称!)。原因は丸めのセルが平行四辺形で、60°回転に対して対称でないこと。立方座標に移して丸める(x+y+z=0 の最近点)ようにしたら消えた。偶然の腕より、道具の癖のほうが危ない——向きの位相が設定を変えても同じ値(23.2°→23.4°)だったことが手がかりになった。
どう作ったか
格子は「隣の取り方」と「格子座標→画面座標」の2つで定義してあり、差し替えられる(この仕組みはかけ算第14号で非周期の格子に流用した)。乱数の薄め方は「同じマスに何回当たってから凍るか」=ノイズ低減 DLA。クラスタから遠いあいだは大きく飛ぶ高速化を入れてある(連続極限では「半径 d の円周上に一様」が厳密。くっつく直前の1歩は必ず格子の上を歩くので格子の異方性は失われない)。
重い測定(種を8〜32本そろえる系)は tools/explore/dla-anisotropy.js に原本を置き、機械検査には安い代表を入れた。検査は6件: ①三角格子の6近傍が等距離・格子点を写して丸め戻すと完全一致(丸めの検算)②4近傍・薄めありで A₄ が最強の成分かつ 0.5 超 ③そのときの腕の向きが格子の軸から4°以内 ④対照として薄めなしでは A₄ が6割以下に落ちる ⑤同じ種で完全再現 ⑥出荷SVG。
出典
- 数理
- DLA は T. A. Witten & L. M. Sander, Phys. Rev. Lett. 47, 1400 (1981)。ノイズ低減 DLA(同じ場所に m 回当たってから凍らせる)は J. Nittmann & H. E. Stanley, Nature 321, 663 (1986) ほか。雪の結晶で界面の異方性が効くことは K. G. Libbrecht の総説などにある(当ギャラリーでは未検証・文献)
- 生成
- generators/dla-lattice.js(格子を差し替えられる DLA・三角格子は立方座標で丸め・ノイズ低減・遠方の大きな跳び・腕のスペクトルと「わざと回した床」。依存ゼロ・乱数は自前 PRNG)