非線形動画+α

非線形

Monogokoroのサイトでは、非線形性について述べてきました。特に、L-system, フラクタル, カオスといった非線形や再帰を紹介してきました。そしてそれらを利用して作製した絵や動画を紹介しています。これらをまとめると、「非線形動画」と言えるのではないかと思っています。これは私がかってに付けた名前です。今回は「非線形動画」が工学的にどう応用できそうなのか、ということをほのめかそうと思います。この部分が今回の表題の+αです。今回は2点紹介致します。これらはこのbolgを書くようになって気づいたことです。今回のblogだけ見られる方は、「非線形動画」って何?という感じでしょうから、一つ例を挙げておきます。再帰性の例です。再帰が必ず非線形ではありません。例えばxn+1=axn+1は再帰の式ですが線形です。線形の再帰性動画の場合は、入力に対して同じ形でサイズが変化したり、前後左右に動いたり、回転したりする映像が重なってできる動画になります。これは線形代数を思い出すと、線形代数の操作がフィードバックして次々と変換せれていく動画になります。これに対して非線形の再帰による動画は、入力とは異なる形状を示す動画になりその変化は予想困難です。前回にblog「文学的な関係性・・・」で「混沌」をテーマとした例を2つ示しました。これらは再帰の非線形動画です。

非線形動画の例

非線形動画の例を示します。

Touchdesignerにより作製しました。トーラスにpbr(表面に模様を描くシェーダーのメイン機能)で模様を付けています。この模様の付け方は徐々に模様が成長していくところが特徴です。作り方はフィードバックを使った再帰を利用しています。この再帰の方法は、blog「 「再帰」とは、・・・」」の最後のフラクタルの動画や、「文学的な関係性・・・」で使った方法と基本的には同じです。その部分を次に添付致します。

フィードバックを構成している部分が、feedback TOP – comp1 TOP – lumablur TOPの部分です。feedbackへの入力(input1), luamablurへの入力(input2)によって模様の全体的イメージは大きく変化します。lumablur TOPの部分はcomposit TOPを使う場合も多いです。input2の模様をどのようにして作製したかについては、また後日説明致します(環世界という概念を意識して作製した映像です)。今回の再帰の部分の特徴は徐々に模様が成長していくところで、それはinput1に小さい円を用いたことで実現しています。通常はinput1、input2は共通でnoise TOPを使います(そしてこのnoise TOPに対して何らかの入力を与えます)。今回の場合はこの小さな円が種となって再帰の模様が成長していきます。微小円の場所を変えるとその場所から再帰が始まります。

非線形絵画+αの例

非線形性を利用した映像がTouchdesignerやblenderを利用して描けますが、それをどのように工学的に活用できるのかが私の研究内容の一つです。今回はblogを記載する中で見つけた内容で、応用できるかもと思った内容を紹介致します。最初の例は上の動画と何らかわりありません。上の動画のpbrに用いる動画と、その中央の横軸に対応するピクセルに色が付いた時にそのピクセル番号の値が1になる映像をつけたものです。動画を見ていただきましょう。

再帰による成長する仕方に応じで、ピクセルに色がついていく様子がわかります。つまり時間に対して1,0にパターンができるということです。このでき方は種となる円の初期値と、input2によって与えられる画像により変化します。従って符号が1になる時間に対する順番は、暗号キーの可能性があります。また指定したピクセルに色がつくタイミングで、何かのパラメータを変化させる、状態を変える、等のタイミングコントロールにも使えるかもしれません。このように再帰を使った非線形映像は何かのコントロールに役立つ可能性があります。成長を開始する際に、成長パターンが変わるのは、フィードバック部分である画像のinput2の画像が変化し(具体的には回転させています)、同時にフィードバックをリセットするからです。

次は以前のblog「プロシージャルの補足・・・」で記載したblenderで発見した非線形現象の続きです。大地に対して上に似せたオブジェクトが沈みこまないようにする操作にシュリンクラップがあることを紹介しました。そしてそれはオブジェクトを構成するボーンの先頭のボーンである制御ボーンと大地との関係でした。その次のボーンと大地との間にウエイトをつけました(制御ボーンと大地との間でもかまいません)。オブジェクトを動かすとシュリンクラップに従って、大地の形状変化にそって制御ボーンが動き、それに接続されいる次のボーンが動き、それにウエイトで関係図けられている大地が大きく変化することを述べました。今回はオブジェクトが動く真下に、大地を少し持ち上げ、かつそれにウエイトをつけました。次の図はウエイトの付け方を示しています。濃い青色の部分がウエイトを塗った部分です。この部分がボーンに従って稼働するようになります。

想定では次のことが起こるはずでした。オブジェクトが大地に盛り上がりに差し掛かると、ボーンが傾きそれによって、ウエイトの作用で大地が持ち上がります。するともっとボーンの傾きは変わり、次のボーンも傾きもっと持ち上がります。一つはこのフィードバックがかります。オブジェクトは時間的に前進するので、制御ボーンは平坦になり、そして持ち上がり部分を超える時に動きは反対になり、大地が下がる方向にフィードバックがかかると想定しておりました。しかし、実際は予想を超えておりました。次の動画を見ていただきましょう。

オブジェクトが盛り上がりにかかると上下に連続して動いています。この現象は発振です。つまり発振現象が観測されたのです。通常動画でこのように連続した動きを描く場合、その動きを設定して動かします。サイン関数を与えたり円状の動きにアサインしたりします。つまり動きを与えるのが通常です。しかし今回の現象は、シュリンクラップとウエイトによって、非線形性が生じ計算上発振したのです。このような現象を見たのは初めてです。映像が自律して発振したのです。次により単純なオブジェクトで確認するため、立方体一つの場合を試しました。

オオ―、同様に発振しております。アニメーションを行う部分を立方体が凸の部分に乗っている状態にすると終わることなく発振します。立方体下の大地の重みには関係なく発振しました。何が発振状況に重要なパラメータなのか調べることができていません。サイズやウエイトの設定を様々変えてみる必要がありそうです。しかし発振は確実に行えます。凸を横切る時間によって、発振の周波数や波形も変わるようです。また立ち上がりをゆっくりにするなどもできそうです。発振を持ち上がる部分の形状、及びアニメーションの設定等でコントロールできる点は非常にユニークです。この現象をどう活用することができるか今後考えていきたいと思っています。

コメント