![見出し画像](https://assets.st-note.com/production/uploads/images/140061118/rectangle_large_type_2_a9d4494a2e2b3137c43cdfd7b9ef006d.png?width=1200)
GeometryNodesで行列の積を計算する(Blender 4.1)
最近GeometryNodesで行列を扱うことが増えてきたので、メモとして書いておきます。
行列表現の定義
ここでは、行列の各要素のポイントの半径として表現します。
また、横サイズをインスタンスの属性「W」として格納しておきます。
![](https://assets.st-note.com/img/1715247360320-68jJkHrkh2.png?width=1200)
例 : 横2縦3で要素が3,1,4,1,5,9の行列
インデックススイッチなどを用いて次のように作成できます。
![](https://assets.st-note.com/img/1715247630188-i4UOh0moOo.png?width=1200)
横サイズを得る
行列の横サイズを取得したい機会は多いため、グループ化しておきます。
![](https://assets.st-note.com/img/1715247942618-WFyfPvC5A7.png?width=800)
可視化
計算上必須ではないですが、作っておくとデバッグに便利です。
リピートやインデックスサンプルをうまく使って行列の値をメッシュ化します。
![](https://assets.st-note.com/img/1715248251449-F7ahT3hKRO.png?width=1200)
例 : 横2縦3で要素が3,1,4,1,5,9の行列の可視化
![](https://assets.st-note.com/img/1715248428783-EQ8BRIsyDV.png?width=1200)
行列同士の積
要素コピー、フィールド蓄積、インデックスサンプルを用いて行列の積を計算します。
![](https://assets.st-note.com/img/1715248618920-Lw6zt8ibcc.png?width=1200)
例 : 横2縦3の行列と横4縦2の行列との積
![](https://assets.st-note.com/img/1715249267223-Y40S6AWJAS.png?width=1200)
正しい計算結果になっているか確かめます。
![](https://assets.st-note.com/img/1715249595204-VNFnYL8diK.png?width=800)
うまくいっていますね。
多分これが一番速いと思います。
この記事が気に入ったらサポートをしてみませんか?