スウィズリング(コンピュータグラフィックス)

コンピュータグラフィックスにおいて、スウィズルとはベクトルの成分を並べ替える演算の一種である。[ 1 ]スウィズルは、1次元のベクトルから別の次元のベクトルへの射影も行うことができる。例えば、3次元ベクトルに対して、元のベクトルの成分を使って2次元ベクトルや5次元ベクトルを作成するなどである。[ 2 ]例えば、、、、 のA = {1,2,3,4}成分がそれぞれ 、 、 の場合、 を計算することができ、その結果 は となる。さらに、 で2次元ベクトルを作成したり、 で5次元ベクトルを作成したりすることもできる。ベクトルとスウィズルの組み合わせは、さまざまな方法で利用できる。これはGPGPUアプリケーションでは一般的である。[ 3 ]xyzwB = A.wwxyB{4,4,1,2}A.wxA.xyzwx

線型代数の観点から言えば、これは行が標準基底ベクトルである行列を乗算することと等価である。 の場合、上記のスウィズリングは次のようになる。 1234T{\displaystyle A=(1,2,3,4)^{T}}{\displaystyle A}

×y[0001000110000100][1234][4412]{\displaystyle A.wwxy={\begin{bmatrix}0&0&0&1\\0&0&0&1\\1&0&0&0\\0&1&0&0\end{bmatrix}}{\begin{bmatrix}1\\2\\3\\4\end{bmatrix}}={\begin{bmatrix}4\\4\\1\\2\end{bmatrix}}.}

参照

参考文献

  1. ^ Lawlor, Orion. 「OpenGL ARB_fragment_program クイックリファレンス(チートシート)」アラスカ大学フェアバンクス校. 2014年1月21日閲覧
  2. ^ "Vec3Swizzles" . グラム. 2023年3月29日閲覧
  3. ^ 「CUDAプログラミングとパフォーマンス最適化入門」 。 2024年12月23日閲覧(該当部分は37分あたりから始まります)