粒子を使った電子の道作製 ステップ2;AとBの入れ替えと基準の移動

particles

はじめに

先回のblogの続きです。二つの位置A,Bがあり、AからBに粒子を放射します。その後BをAの放射源に替え、新しくBの位置を発生させ、そこへ向かって粒子を放射します。これを繰り返します。これでいつまでも放射による伝搬が続くことになります。今回は純粋に制御の話です。

黄玉と白玉の入れ替えと基準の移動

大抵の場合、同じ結果を得る制御の仕方が複数あります。2026.07.25「粒子を使った伝搬モデル1」では、粒子を発生させる部分は三か所あります。これの延長では、発生源の位置、到達点の位置、次の到達点の位置、というように三つ用意しておき、この三つを順繰りに回して作ることになります。どう制御するかの方針でプログラムは大きく変わります。今回は別のアプローチを使います。先回のプログラムをそのまま使い、放射するプログラムの段数を増やすことを避ける、というのが方針です。このため、AがBに入れ替わること、そしてAを常に原点にしてBを求め、後でAの位置分だけずらす、ということにしました。それでは作製した映像を見ていただきましょう。

黄玉がA白玉がBです。ビームは黄玉から白玉に放射し、白玉から突き抜けないように消します(消す方法については先回述べています)。次に白玉を黄玉を入れ替え、そして白玉を新たに発生させます。黄玉から白玉へのベクトルはobject CHOPによって作ります。この時黄玉が基準になります。このため、最後に黄玉の分だけ全体を移動させることを行います。プログラムの制御部分は次です。

このプログラムの続きは先回とほぼ同様です(先回のプログラムのswitch POPの後にtransform POPを入れ、黄玉の移動分を動かします)。スタートボタンを押すことで始まります。”白玉位置発生・ホールド部分”と”黄玉位置発生・ホールド部分”はnoise CHOPのRandamで元の値を作り、これをlfo CHOPで10回矩形波をカウントしたタイミングでhold CHOPによりホールドしています。ビームを受ける白玉が、次にはビームを出す黄玉に変えるのが、”白玉・黄玉交換部分”です。object CHOPで、黄玉の位置を基準にして白玉の位置を求めます。このためこのベクトルは常に黄玉の位置が原点となります。そこで最後に黄玉・白玉の位置をずらします。これが”原点・白玉・黄玉位置ずらしの部分”です。10回カウントしたタイミングで、自動的に切り替え信号を出すのが、”切り替えコントロール部分”です。TouchDesignerの場合は、映像を見ながら修正していくので、少し時間をかけるとできていきますが、方針と粗方の構成を最初に決めるのは大切です。今回のようなことは新しい考えが必要なわけではありません。しかし書こうと思えば方法や構成が思い浮かび、プログラムが書けるようになるには、背後にそれなりの時間を費やしている必要があります。実作業にはこういうところが大切です。

まとめ

先回は黄玉から任意に変化する白玉に対してビームを放射しました。この時ビームが突き抜けたビームを削除することを述べました。今回は黄玉も任意に動きます。黄玉から白玉にビームを放射するのですが、次は白玉の位置に黄玉が来るようにし、白玉が新たな位置に現れます。これを繰り返し行うことで、いつまでも伝搬を続けさせれます。

余談ですが、繰り返し行う場合はフィードバックが代表的です。次回になりますが、粒子を受けてある一定数になると、白玉と黄玉を切り替えるとするなら、フィードバック制御です。今回のように矩形波をカウントして一定になると切り替わるというのはフィードバック制御ではありません。このように必ずしも繰り返しにフィードバック制御が必要なわけではありません。

コメント