1. 程式人生 > >圖形學中的行矩陣和列矩陣

圖形學中的行矩陣和列矩陣

什麼是列矩陣? 比如M(x,y)表示取出矩陣的x行y列元素,那麼對於一個4x4的齊次矩陣K來說,如果它的位置分向量為T(下標索引從0開始計,一個矩陣有旋轉分量和位置分量),則T為T=Vec3(K(0,3),K(1,3),K(2,3)),並且在矩陣作用於向量的變換時應如下

Matrix44 mat=...;//44表示4X4矩陣
Vec4 temp=...;
Vec4 res=mat*temp;

OpenGL、CryEngine等使用的是列矩陣。

什麼是行矩陣? 行矩陣是列矩陣的轉置T=Vec3(K(3,0),K(3,1),K(3,2)),行矩陣變換向量時是矩陣後乘,比如上述的矩陣如果是行矩陣則是如下方式:

Matrix44 mat=...;//44表示4X4矩陣
Vec4 temp=...;
Vec4 res=temp*mat;

DX、OSG等使用的是行矩陣。