1. 程式人生 > >矩陣的行主序與列主序

矩陣的行主序與列主序

1.矩陣在記憶體中的儲存

    不管是D3D還是OpenGL,使用的矩陣都是線性代數標準的矩陣,只是在儲存方式上有所不同。分別為:行主序(Direct3D),列主序(OpenGL)

    儲存順序說明了線性代數中的矩陣如何線上性的記憶體陣列中儲存。

    例如:記憶體中使用一個二維陣列m儲存矩陣,第i行第j列的表示方法分別為: 

    行主序:m[i][j]

    列主序:m[j][i]

   線性代數意義的同一個矩陣,在d3d 和 openGL 中的儲存順序

      線代:a11,a12,a13,a14                  d3d :  a11,a12,a13,a14       OpenGL: a11,a21,a31,a41

                  a21,a22,a23,a24                             a21,a22,a23,a24                        a12,a22,a32,a42

                  a31,a32,a33,a34                             a31,a32,a33,a34                        a13,a23,a33,a43

                  a41,a42,a43,a44                             a41,a42,a43,a44                        a14,a24,a34,a44

2.行主序的矩陣與列主序的矩陣如何轉換呢

    不難發現,M=MT