見出し画像

GeometryNodesで行列の積を計算する(Blender 4.1)

最近GeometryNodesで行列を扱うことが増えてきたので、メモとして書いておきます。

行列表現の定義

ここでは、行列の各要素のポイントの半径として表現します。

また、横サイズをインスタンスの属性「W」として格納しておきます。

「Matrix」として実装

例 : 横2縦3で要素が3,1,4,1,5,9の行列

インデックススイッチなどを用いて次のように作成できます。

横サイズを得る

行列の横サイズを取得したい機会は多いため、グループ化しておきます。

「GetW」として実装

可視化

計算上必須ではないですが、作っておくとデバッグに便利です。

リピートやインデックスサンプルをうまく使って行列の値をメッシュ化します。

「Visualizer」として実装

例 : 横2縦3で要素が3,1,4,1,5,9の行列の可視化

行列同士の積

要素コピー、フィールド蓄積、インデックスサンプルを用いて行列の積を計算します。

「Multiply」として実装

例 : 横2縦3の行列と横4縦2の行列との積

正しい計算結果になっているか確かめます。

うまくいっていますね。

多分これが一番速いと思います。

この記事が気に入ったらサポートをしてみませんか?