LoginSignup
1
1

More than 5 years have passed since last update.

WebGL(OpenGL)の行列の並び方で躓いた事

Posted at

行列の並び順

\begin{pmatrix}
0 & 1 & 2 & 3 \\
4 & 5 & 6 & 7 \\
8 & 9 & 10 & 11 \\
12 & 13 & 14 & 15
\end{pmatrix}

WebGLを勉強していて引っかかったのが行列の並び順。

DirectXなら上記のような並び方なのだが、
WebGL(OpenGL)では以下のような並び方で配列に格納される。

\begin{pmatrix}
0 & 4 & 8 & 12 \\
1 & 5 & 9 & 13 \\
2 & 6 & 10 & 14 \\
3 & 7 & 11 & 15
\end{pmatrix}

行列同士の積のやり方は特に変わらず、
左項は行(横)方向、右項は列(縦)方向で計算される。
(【例】左項:a e i m、右項:A B C D)

\begin{pmatrix}
a & e & i & m \\
b & f & j & n \\
c & g & k & o \\
d & h & l & p
\end{pmatrix}
\times
\begin{pmatrix}
A & E & I & M \\
B & F & J & N \\
C & G & K & O \\
D & H & L & P
\end{pmatrix} \\
=
\begin{pmatrix}
aA+eB+iC+mD & aE+eF+iG+mH & aI+eJ+iK+mL & aM+eN+iO+mP \\
bA+fB+jC+nD & bE+fF+jG+nH & bI+fJ+jK+nL & bM+fN+jO+nP \\
cA+gB+kC+oD & cE+gF+kG+oH & cI+gJ+kK+oL & cM+gN+kO+oP \\
dA+hB+lC+pD & dE+hF+lG+pH & dI+hJ+lK+pL & dM+hN+lO+pP
\end{pmatrix}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1