コンペイトウを作った

乱数で。



夕べ twitterで突起の数が話題になってたので http://twitter.com/#search?q=%E9%87%91%E5%B9%B3%E7%B3%96%20%E8%A7%92
モデルは簡単。ランダムな方向から壁を近づけて最初に当たったところを少し盛り上げる。これをひたすら繰り返す。出る杭がどんどん伸びる。普通にやると鋭いトゲが伸びるので形をそれっぽくするためガウス型に盛り上げた。でも長さと数の分布を出したいだけならもっと荒いメッシュでトゲのモデルでOKだと思う。
以下はトゲの長さと順位の関係

だんだん寡占になってくる。どこまでも伸びる場合は4〜5本にまで減ると思う。

Kuramoto-Sivashinsky Equation

別のモデルとして、以下ではKuramoto-Sivashinsky Equationでの説明について記述がある。
http://ja.wikipedia.org/wiki/%E9%87%91%E5%B9%B3%E7%B3%96
方程式はこちら
http://mathworld.wolfram.com/Kuramoto-SivashinskyEquation.html
係数がすべて1なのは長さのスケールと高さのスケールを調節してそうできるから。逆に言うとどんな間隔で角が出るかはパラメータに依存する。そのパラメータは実際の条件で決まるんでこの方程式だけから角の数は分からない。しかし角の形とかは再現できるかも。
もし数値計算するなら注意すべき点:ラプラシアンを普通に計算し、それをスカラー場と考えてそのまたラプラシアンを計算すれば∇^4のところは計算できる。メッシュサイズをdxとするとdt=dx^4くらいに小さくしないと安定化しない。
多様体上のラプラシアンLaplace-Beltrami演算子として一般化される http://en.wikipedia.org/wiki/Laplace%E2%80%93Beltrami_operator
ただし球面上では|g|=constなんで普通にやればいい。緯度経度でメッシュ切るならR2上で|g|=cos(緯度)とすればいい。

非構造メッシュ上で反応拡散系でパターン形成する場合の技術的詳細:http://www.cse.wustl.edu/MediaAndMachines/publications/papers/phan2006sbim.pdf

追記:いろいろ記事発見
http://comp.te.chiba-u.jp/research/konpeito/konpeito.html
http://obio.c-studio.net/science/262.htm