はじめに
これまで作製してきた「粒子を使った伝搬モデル1, 2, 3」で、一定数の粒子を受けると次に粒子を放出すること、粒子を曲げること、ができるようになりました。今回はこれらの機能を使って、ニューロンを真似たモデルを作製しました。つまり、A, B, Cの3経路から一か所Dに粒子が入ってくると、DからEに粒子を放出するモデルです。
ニューロンモデル
それでは最初に作製した映像を見てください。
A,B,Cの3つの経路があり、中間のDに順番に粒子が入ってきます。Dはそれぞれの経路から一定数の粒子を測定すると、最後にあるEに粒子を放出します。ニューロンの基礎的な動きを真似ています。AとCからDに向かうの粒子は経路が曲がっています。これは「粒子を使った伝搬モデル3:粒子を曲げる」で使ったテクニックです。そして、粒子の数を数えて一定数になると次に放出する部分は「粒子を使った伝搬モデル1, 2」で使ったテクニックです。今回は、これらを組み合わせたモデルで、技術的な新しさはありません。ニューロンのように、合成した結果で次が動くという構成にしました。
プログラムの中心部分を以下に示します。粒子を曲げてDに送る部分です。

grid SOPが粒子の元です。一番上のmetaball SOP -> transform SOP -> force SOPが、grid SOPから粒子を前方へ放射するための部分です。並行してある、
metaball SOP -> transform SOP -> force SOPは粒子を曲げるための部分です。merge SOPで合成して、particle SOPの第3インレットのForceにつないでいます。球で示したA,B,C,Dに対応してこれらのブロックが一つづつあります。球を表示するのに使うmerge SOPと、粒子の流れを表示するmerge SOPがあります。これらは別々のgoe COPMを使いますが共通のrender TOPで表示させています。group SOPは粒子が入ってくる領域を設定しています。そしてsop to DATでその領域に入っている粒子を表示します。続いてinfo CHOP -> select CHOPで設定した領域内の粒子の数を数えます。trail CHOP -> analyze CHOPは移動平均を取る定番の組み合わせです。そしてexpression CHOPによって所望の数になったかどうかを判定しています。これも3つの入力それぞれにあり、それぞれで到着した数を数えています。そして3つともonになった時に、中間にあるDの部分から最後のEに対して粒子を放出します。metaball SOPの系列とDにはdelete SOPがあります。これで粒子の放出する/止めるを制御しています。
感想
ニューロンのモデルが作れました。伝搬モデルの伝搬機能は粒子を放出する機能になります。後は粒子を曲げたり、放出/止めるの制御であったり、到達した数を数えたり、3か所からの到達を待って次に粒子を放出する制御です。伝搬モデルといいながら制御が重要です。もう一つ気づいたことは、全てが動作しているパターンや、一つだけから放出しているパターン等、複数のパターンができることです。今回は1つのニューロンでけですが、無数にあると、非常に多くのパターンができ、生物では、これが記憶と関係して可能性はありそうです。プログラムを自分ですると、一つ一つのニューロンにはどの程度の制御がいるのか、なるほどパターンが記憶と関係する可能性はあるな、等と体験として得ることができます。Monogokoroではこの体験を重視しています。

コメント