壳口一行行画出的花纹
贝壳只在壳口生长。新长出的每一窄条壳,都记下那一刻壳口边缘上色素的样子。一圈圈长下去,壳面就成了一张时间的图。
向下滚动
只在边缘生长
贝壳不会整体长大。新的壳只加在壳口的边缘:外套膜的边缘分泌碳酸钙和蛋白质,壳口就向前推进一窄条。
颜色也在这时放进去。外套膜边缘上的细胞,有的这一刻在分泌色素,有的没有。壳长成之后不再改变,所以花纹只能在壳口画上,画上了就留下来。
模型:一枚织锦芋螺,壳长约 10 厘米,最后一圈还没有长完
一张时间的图
把壳口的边缘看作一行细胞。壳每长一窄条,就把这一行此刻的样子记下一次,排在上一次的后面。
所以壳面上的花纹是一张图:沿着壳口是空间,沿着生长的方向是时间。把它展平在纸上,从上往下读,就是壳口上的色素一刻一刻的变化。
纸上是同一片花纹展平的样子:横向沿着壳口,纵向是生长的先后
放大自己,压住旁边
模型里,壳口边缘有两种物质。激活物促进它自己的产生,也产生抑制物;抑制物反过来减慢激活物。两种物质都沿着壳口向两边扩散,也都会逐渐消失。
某处激活物多了一点,就越来越多,直到它产生的抑制物把它限制住。抑制物扩散得多快、存留得多久,决定了会画出什么花纹。色素画在激活物高的地方。
相遇就消失的波
如果抑制物几乎不扩散、存留得又久,一处的激活会推进到旁边的细胞,身后留下抑制物。这是一道沿着壳口走的波,在壳上画出一条斜线。
两道波相向而来,谁也进不了对方身后的抑制区,于是一起消失,画出一个尖角。所有活跃的细胞一起产生一种信号;活跃的细胞变少,抑制物就消失得快,新的波在某处出现,向两边扩开,画出一个三角形的顶点。
同一组方程,几种花纹
只改几个数,同一组方程画出不同的花纹。抑制物扩散得远、消失得快时,激活的峰停在原地,画出顺着生长方向的条纹;峰时亮时灭,就成了一列列点。
织锦芋螺的大小三角形,和 Oliva porphyria(一种榧螺)交错的斜线,都来自会走、相遇就消失的波。榧螺的数值取自这个模型作者公开的程序,另外三种是本页在同一组方程里调出来的。
像元胞自动机,但不是
元胞自动机也是一行一行算出来的:一行格子,每个格子下一步是黑是白,只看它自己和左右两个邻居。其中第 30 号规则画出的图,常被拿来和织锦芋螺放在一起。
两者确实相像:都是一行接一行,每个位置只看邻居。但这只是外观上的类比。第 30 号规则只有黑白两种状态,规则是一张八格的表;壳口细胞里是连续变化的浓度,花纹来自激活和抑制。
纸的左边是第 30 号规则,右边是本页模型画出的织锦芋螺花纹
每一圈放大同样的倍数
壳口沿着螺旋前进,每转一圈,离壳顶的距离都乘上同一个倍数。这样的曲线叫对数螺线,也叫等角螺线:它和指向壳顶的直线总是保持同一个夹角。所以壳越长越大,形状不变。
1966 年,古生物学家 Raup 用几个数描述螺旋壳:W 是每转一圈壳口放大的倍数,D 是壳口离旋转轴有多远,T 是壳口沿轴移动得多快,再加上壳口本身的形状。改这几个数,就能从同一个规则得到菊石、蜗牛、蛤蜊那样不同的壳。本页的芋螺每圈放大 3.2 倍,壳口紧贴着轴,沿轴移动得慢:新的一圈几乎完全包住旧的,只在顶上留下一层层低矮的螺塔。
实验台
生长杆让壳从很小长到完整,花纹在壳口一行行出现。可以换四种花纹,也可以调激活物的产生和抑制物的衰减;改动只影响之后长出的壳。「展平」把花纹画到旁边的纸上。
试一试选“织锦芋螺”,把“抑制物的衰减”调到最慢,再从头长一次:三角形变大还是变小?
模型省略了什么
花纹是一维的激活物–抑制物方程,沿壳口 512 个细胞,用显式差分一步步算;会走的波每长一行算 12 步,静止的峰算 6 步。真实的壳口会随着壳变大而变长,新的细胞插进来;这里细胞数不变,所以花纹随壳一起放大。真的织锦芋螺还有黄褐色的带和细密的深色线,模型只画一种色素。壳形是一个固定轮廓绕轴旋转并按对数螺线放大;真实的壳在一生中形状会略有变化,最早的胚壳也不同。壳口的微光只是表示「这里最新」,不是真实存在的光。支架托住螺塔,是为了让壳在生长时有地方固定。
容易误会的地方
第 30 号规则和织锦芋螺很像,但壳上的花纹不是这条规则算出来的,这只是外观上的类比。激活物–抑制物模型能把许多壳的花纹画得很细致,但它仍是一个模型:真正的分子还没有找到。另一种模型把外套膜边缘看作一张神经细胞网,它同样是「近处互相促进、远处互相抑制」,也能画出类似的花纹。
资料来源
- Meinhardt:The Algorithmic Beauty of Sea Shells(Springer,第 4 版,2009)
- Meinhardt 与 Klingler(1987):A model for pattern formation on the shells of molluscs,J. Theor. Biol. 126
- 马克斯·普朗克生物学研究所:模拟 Oliva porphyria 花纹的 BASIC 程序
- 马克斯·普朗克生物学研究所:Pigmentation patterns of shells of mollusks
- Wolfram:A New Kind of Science(2002),第 8 章,Biological Pigmentation Patterns
- Coombes:The Geometry and Pigmentation of Seashells(诺丁汉大学讲义)
- Phillips(美国数学会专栏,2001):贝壳与等角螺线,Raup 的参数
- Boettiger、Ermentrout 与 Oster(2009):The neural origins of shell structure and pattern in aquatic mollusks,PNAS
- 世界海洋物种名录(WoRMS):Conus textile Linnaeus, 1758
数据
The pattern model is the activator–inhibitor system of Hans Meinhardt and Martin Klingler (J. Theor. Biol. 126, 1987), as set out in Meinhardt’s The Algorithmic Beauty of Sea Shells (Springer; 1st ed. 1995, 4th ed. 2009, with contributions by Przemyslaw Prusinkiewicz and Deborah R. Fowler). The Oliva porphyria values are those of Meinhardt’s published BASIC program on the Max Planck Institute for Biology Tübingen website; the other presets are the site’s own, in the same equations. The shell’s geometry follows David M. Raup’s coiling parameters (Geometric analysis of shell coiling: general problems, J. Paleontology 40, 1966), as explained in Tony Phillips’s AMS Feature Column (2001). The comparison with cellular automata is discussed in Stephen Wolfram’s A New Kind of Science (2002), chapter 8; the popular pairing of Conus textile with rule 30 appears, among others, in Stephen Coombes’s lecture notes The Geometry and Pigmentation of Seashells (University of Nottingham). The nerve-net alternative is that of G. Bard Ermentrout, John Campbell and George Oster (The Veliger 28, 1986) and Alistair Boettiger, Bard Ermentrout and George Oster (PNAS, 2009). The shell model, its outline and stand, the simulation code and the words are the site’s own.

