一周忌明け

一昨日は祖母の一周忌法要に参加しました。形式は仏教の浄土真宗本願寺派で行われましたが、いかんせん霧雨が降るような天気でしたので寒かったです。親の実家が離れてるので2時間くらいかかるわけですが、傘を持っていくのを忘れてしまいました。
次は三回忌になりますが、そういえば一周忌って「一回忌」とは言いませんね。亡くなった時が1回目で、一周忌は2回目ってことなのかな?と考えましたが、あってるんだろうか。

で一身上の話はそこまでとして、この記事はHoudiniを触っていてのちょっとした気づきに関するものなんですが。

一つ前の記事でローレンツアトラクターを作りました。そこから他のアトラクターも作ってみようと思って、手を出したのがクリフォードアトラクターです。

Processing(Python Mode)で生成しました。綺麗な模様です。
このクリフォードアトラクターはClifford A. Pickover氏に端を発するものです。
内部的には、漸化式を通じて変化していく座標に点をプロット(設置)していくことを無数に繰り返し、そうして描画された点群によって軌道が表現されることによって作成されます。
ちなみに模様を作る上でポイントを打つ回数はそれほど重要ではないです。というのもアトラクターとある通り、カオス性はありつつも一定の軌道上に引き込まれる性質があるため、以前打った極小のポイントの近郊にまたポイントが打たれるということが良くあります。
なのである程度大きさを持ったポイントを20万回ほど打ったものと、極小のポイントを800万回打ったものとで成果物に極端な変化はないと思います。処理スピードを考えても少なくすることをお勧めします。

それで、Houdiniでも作ろうとしたところ(またしても)うまくいきませんでした。
というのも、このアトラクターは計算結果の点が飛び飛びに、離散的に動きます。エフェクトとして使うには目がチカチカしすぎるレベルです。それをどうにかしようと思って、ローレンツアトラクターの時みたいにアトラクターに起因する項を極小時間単位の動作に縮小しようとしたわけです。
しかしうまくいきませんでした。調べたところローレンツアトラクターは「常微分方程式」であり、クリフォードアトラクターは「漸化式」であることには気が付きました。
あまりよくは分かっていませんが、点群がアトラクターに引き込まれていく様子を活用できるのは常微分方程式として表現されたアトラクターに限られるという事でしょうか。

漸化式を微分方程式に変換する方法とかないかと思って検索にかけてみたところこちらのサイト(https://blbadger.github.io/clifford-attractor.html)でそれっぽいものは見つけました。ただこのサイトで示されている計算はSolverではなくfor文でやるものだと思われるので、ローレンツアトラクタの様にはいかなそうです。

そして副産物として出来たのが以下の「謎の行進する点群」です。コードの説明は動画概要に記述しましたが、こうなる理屈は何一つ分かりません。

そんなところで今回の記事は以上。