MClone [ 1 ]またはClonal Mosaic は、 1998年に提案されたパターン形成アルゴリズムであり、キリンなどの哺乳類のネコ科動物の毛皮に見られる色の斑点をシミュレートするために特化されています。当初は2Dモデルとして提案されましたが[ 2 ] 、近年3Dモデルにも拡張されました[ 3 ]。このアルゴリズムの重要な特徴は、生物学的に妥当性があることです。
このアルゴリズムはテクスチャマッピングの問題に対処するために開発されたため、その主な目的は、2Dまたは3Dオブジェクトモデルに対して、同じパラメータセットで可変数のカラーパターンを生成することです。これにより、同じモデルで表される比較的多数の異なるエンティティに対して、同じテクスチャを使用する代わりに(そうすると各オブジェクトが他のオブジェクトと同等になってしまいますが)、MCloneアルゴリズムによって作成された異なるカラーパターンを使用できます。MCloneのもう1つの便利な機能は、オブジェクトモデルのデータの増加に合わせてパターンを作成できることです。
MCloneアルゴリズムは、基本的に次のように動作します。新しいパターンを作成したいオブジェクトの3Dモデルが与えられたら、まずモデルの表面にn個のセルをランダムに配置します。各セルにはタイプがあり、タイプによって色を含む多くのプロパティが定義されます。この方法により、例えば2色のみのパターンをシミュレートしたい場合は、2種類のセルだけを使用すれば済みます。
モデルに定義された細胞がランダムに配置されたので、それらにパターンを作らせたいと考えます。そのためには、すべての細胞間に緩和(relaxation)を適用します。この緩和には2つの基本的なパラメータがあります。1つは各細胞タイプの有糸分裂率(細胞タイプの増殖にかかる日数)で、もう1つは各細胞タイプ同士(および自分自身)への接着率です。接着率は1より小さい数値で、緩和によって生じる力(つまり、細胞同士をくっつける力)から差し引かれます。
各緩和には、発生する「日」が定義されています(MCloneでは緩和プロセスをこのように呼んでいます)。1日あたりの緩和回数は、アルゴリズムの開始時に定義されます。有糸分裂率は、細胞が「再び」増殖するまでの日数を示す数値として定義されます。例えば、ある細胞種の有糸分裂率が4の場合、その細胞種の細胞は平均4日ごとに増殖します(つまり、1日目に誕生した細胞は5日目、9日目、というように増殖します)。
所定の日数が経過すると、明確なパターンが形成されます。これは、私たちが期待していたものになるか、そうでないかは分かりません。上記の説明だけでは直感的に理解しにくいかもしれませんが、このアルゴリズムの重要な特徴は、アルゴリズムに渡されるパラメータを確認するだけで、それがどのようにパターンになるかを容易に予測できることです。