冷えた窓に、氷の羽が音もなく伸びていく。なぞった跡から、夜の街が透けて見える。
冬の夜明け前の窓です。部屋の湿り気でガラスが曇り、窓枠ぎわやガラスの細い傷から氷の芽が出ます。芽は枝を分けながらシダの葉のように伸び、ガラスを覆っていきます。やがて朝日が差すと、薄いところから溶けていきます。
ガラスを指(PCではマウス)でなぞると、霜が溶けて外の街が見えます。跡のまわりからは、しばらくするとまた霜が伸びてきます。押したまま止めておくと、息を吹きかけたようにガラスが白く曇り、そこから新しい霜が育ちます。
WHAT IT IS窓の霜とは
外が氷点下まで冷え込むと、窓ガラスの内側も0℃を下回ります。そこへ部屋の空気の水蒸気が触れると、水になるのを飛ばして、じかに氷の結晶になって張りつきます。ガラスについた細かい水滴が、そのまま凍って霜の芽になることもあります。
氷の結晶は六角形の形をしているので、枝は60°ずつ違う向きに伸びます。芽は、ガラスの傷やほこり、いちばん冷えやすい窓枠ぎわから出ることが多く、結晶ごとに向きが少しずつ違うため、窓一面に違う向きの羽が並びます。
WHY FERNSなぜシダの形になるのか
水や水蒸気が凍るとき、熱(潜熱)が出ます。結晶のまわりにはこの熱がたまり、凍りにくくなります。結晶の表面に小さな出っ張りができると、その先端は熱を逃がしやすく、まだ冷たいところへ顔を出すので、まわりより速く伸びます。伸びた先端の側面でも同じことが起こり、枝からまた枝が生えます。
こうして、平らに広がるはずの氷が、先端から細かく枝分かれしたシダや羽の形になります。雪の結晶が枝を広げるのも、同じしくみです。
HOW IT'S MADEこのページの作り方
PHASE FIELD ON THE GPU
ガラスを画面と同じ縦横比の格子(PCで長い辺1024マス)に分け、マスごとに「氷か水か(0〜1)」と「温度」を持たせています。それを、小林亮氏が1993年に示した結晶成長の模型(位相場モデル)の式で、毎コマ数回 GPU で進めています。氷と水の境目は、決まった形を描かず、式から自然に枝分かれします。
LATENT HEAT
凍ったマスは熱を出し、その熱はとなりへ広がります。熱はガラスにたまっていくので、霜はガラスの七割ほどを覆ったところで、ひとりでに伸びなくなります。なぞって溶かすと、そのぶんの熱が奪われるので、跡のまわりからまた霜が伸びてきます。
SIX-FOLD GROWTH
境目が六方向に伸びやすくなる性質(異方性)と、小さなゆらぎを式に加えています。芽ごとに結晶の向きを決め、窓枠ぎわの芽は、枝の一本がガラスの内側を向くようにしています。毎回、違う形に育ちます。
GLASS AND THE CITY
霜の厚みを少しぼかして凹凸とみなし、向こうの街の灯りをゆがめ、にじませ、氷の中で散らして描いています。外の街並みと街灯は、ページの中で描いた絵です。朝の溶け方と、溶けた跡の水滴は、見た目の上で描いています。Three.js r186 のWebGLで描いています。