行列:転置行列

転置行列です。
行列の行と列を入れ替えて作られる行列をの転置行列と言い、と表す。


行列:行列の合成 のページで

//合成 glMultMatrixfの代わり
void multiplication(GLfloat* src1,GLfloat* src2,GLfloat* dst)
{
 for(int y=0;y<4;y++){
  for(int x=0;x<4;x++){
   dst[y*4+x]=src2[y*4]*src1[x]+src2[y*4+1]*src1[x+4]+src2[y*4+2]*src1[x+8]+src2[y*4+3]*src1[x+12];
  }
 }
}


となっていて、
「掛け合わせる順番が逆ジャネーノ?」
と思った方もいるでしょうが、これで良いのです。
DirectXは行ベクトルのため、左から掛け合わせますがOpenGLの場合、
列ベクトルであるために左から掛け合わせるには転置行列を作成して
計算しなければなりません。
しかし、列ベクトルの場合は右から掛け合わせると転置行列を作成しなくても
解を導き出せます。
一種の最適化ですね。

 

 

 

最終更新:2011年09月23日 22:55
添付ファイル