小さな火の玉が、ひとりでに火花を枝分かれさせ、やがて静かに消えていく。
線香花火は、和紙のこよりの先に火薬を包んだだけの、とても単純なつくりの花火です。それでも火をつけると、溶けた火の玉から細い火花が四方へ飛び、空中で何度も枝分かれして、松の葉のような形を描きます。
このページでは、その火玉と火花をブラウザの中でリアルタイムに描いています。こよりはドラッグで揺らせます。ただし揺らしすぎると、本物と同じように玉は落ちます。
FIVE STAGES五つの姿
- 蕾TSUBOMI
火が紙から火薬へ移り、溶けた火の玉がふくらんでいく時間。まだ火花は出ません。
- 牡丹BOTAN
玉の表面から、ぱち、ぱちと短い火花が出はじめます。枝分かれはまだ一度ほど。
- 松葉MATSUBA
いちばん勢いのある時間。火花が空中で何度も分かれ、松の葉のような線が重なります。
- 柳YANAGI
勢いが落ち、長く細い火花が、柳の枝のように垂れながら流れます。
- 散り菊CHIRIGIKU
短い火花がまばらに散り、玉は小さく、赤く冷えていきます。
WHY IT BRANCHES火花はなぜ分かれるのか
線香花火の火薬は、主に硝石(硝酸カリウム)・硫黄・炭の粉でできています。燃えると、これらが溶けあった高温の玉になり、こよりの先にぶら下がります。
玉の表面からは、ごく小さなしずくが飛び出します。このしずくの中でも反応が続いてガスが生まれ、しずくが破裂して、さらに小さなしずくに分かれます。分かれた先でまた同じことが起きるため、一本の火花が空中で何度も枝分かれすると考えられています。
落ちやすさにも理由があります。玉は溶けた状態で、こよりの先に表面張力でつながっているだけです。大きく育った玉ほど重く、揺れの勢いに耐えられなくなります。
HOW IT'S MADEこのページの作り方
BRANCHING SPARKS
火花は一粒ずつ、位置・速さ・熱・寿命を持ちます。決まった時間がくると、その点から2〜4本に分かれ、少し遅く、少し冷たくなります。分かれた点から今の位置までを一本の線として描くので、分かれ目どうしがつながって松葉の形になります。
VERLET ROPE
こよりは26の節をもつ紐として、ベルレ積分と距離の拘束で計算しています。上ほど曲がりにくくして、和紙をよったコシを出しています。火玉の横の速さが大きい状態が続くと、玉が落ちます。
HDR & BLOOM
火花と火玉は、画面の白より明るい値で描いています。その明るさをブルームでにじませ、最後に色の圧縮(トーンマッピング)で白く飛びすぎないように整えています。
THREE.JS r186
Three.js r186 のWebGLで描いています。火花は数千本の線を1回の描画命令でまとめて描き、スマートフォンでは本数を減らしています。