← ギャラリーへ

対数螺旋 — 貝が家を建て増す方法

オウムガイの殻の断面。対数螺旋に沿って小部屋が並び、最後に大きな住房が開く
オウムガイの殻の断面の模式。r=ae^{bθ}、1周で3倍(実物のオウムガイとほぼ同じ成長率)。小部屋は成長の記録で、生体は最後の広い部屋に住む

なにか

貝は家を建て替えられない。体が大きくなっても引っ越せないから、入口に建て増しを続けるしかない。そのとき「今の家と同じ形のまま大きくしたい」という一点だけを要求すると、答えは対数螺旋 r=ae^{bθ} ただひとつに決まる。この曲線の本質は「回して見ても、拡大して見ても、同じ曲線」——回転と拡大が同じ操作になる、連続の自己相似だ。オウムガイの殻、台風の雲、銀河の腕、ロマネスコの突起の並びがみな同じ曲線なのは、どれも「今ある形を保ったままスケールだけ変わる成長」だから。

もうひとつの顔が等角性。曲線上のどこでも、中心から引いた線と進行方向のなす角が同じ(この実装では80.1°)。ハヤブサが獲物めがけて螺旋を描いて降りるのは、目を動かさずに獲物を視界の同じ角度に保って飛ぶと、軌道が自動的に対数螺旋になるからだ。

★自分で動かす

下の絵はこの場で計算している(あらかじめ描いた絵の切り替えではない)。上の図を作っているのと同じ 1 本のコード gallery/assets/logspiral-live.js を、記事の中で呼んでいる。回す角を動かすと、茜色の弧がいつも元の螺旋の上に乗る——「回転=拡大」はこれを見ることそのもの。

オウムガイの実測は約3倍。1 に近づけるほど円へ、大きくするほど開いた渦へ。

藍の弧を α 回して e^{bα} 倍にしたものが茜の弧。拡大率はこちらで選べない——角度が決まれば倍率も決まる。

成長率 b
等角(閉じた式)
等角(実測のばらつき)
回転=拡大のずれ

スライダーで決めた成長率の対数螺旋と、回して拡大した弧が元の螺旋に重なる図

倍率を 1 に近づけていくと等角は 90°(=円)に近づく。円は「回しても大きさが変わらない」対数螺旋の端っこで、そこだけ拡大と回転が切り離せる。フィロタキシスヒマワリの螺旋は点の並びが作る見かけの螺旋で、こちらは曲線そのもの

どう作ったか

成長率はオウムガイの実測に合わせて1周3倍(b=ln3/2π)。機械検査は7件: 回転=拡大の厳密一致(誤差10⁻¹⁵)・等角性が全点で一定・曲率半径が動径に比例(比例定数√(1+b²))・1周ちょうど3倍・記事のドラッグ版を偽DOMの上で実際に走らせる7項目(★回す角を41通り動かしても回転=拡大が成り立つ/倍率を1へ近づけると等角が90°=円へ)・出荷SVGとドラッグ版が同じ1本のコードを共有していること・SVG実物。ドラッグ版の検査の実体は tools/logspiral-live-test.js。隔壁と住房の描き分けは模式で、殻の螺旋そのものが数理の主役。

→ フィロタキシス(同じ「螺旋」でも出どころが違う=とびとびの回転)

→ 見取り図(この作品で「自己相似の3つの顔」が揃った)

出典

数理
対数螺旋(equiangular spiral): J. Bernoulli が "eadem mutata resurgo"(形を変えて甦る)と墓碑に刻んだ古典。貝殻の成長モデルは D'Arcy Thompson, "On Growth and Form" (1917) ほか
生成
generators/logspiral.js(1周3倍・3.75周・隔壁は模式)対数螺旋の数理は gallery/assets/logspiral-live.js に置き、出荷SVGの生成器と記事のドラッグ版が同じ1本を共有している