矩陣的計算
基本運算
1)相等(a=b):如果兩個矩陣維數相同且對應元素也相同
2)矩陣與標量相乘:kd
3)加減法必須維數相同
4)ab≠ba
單位矩陣:(identity matrix)
主對角線上的元素為1其餘為0,而且是方陣!乘其它數不變
逆矩陣:(inverse matrix)
1)只有方陣才可能有逆矩陣
2)mm-1=m-1m =i
3)(ab)-1 = a-1b-1
矩陣的轉置:
m*n =n*m維
注意
3d中我們用4*4矩陣來描述,最後一列的值是用來判斷是否可以進行矩陣變化的值.
1.單位矩陣
計算pout的單位矩陣
d3dxmatrixidentity
d3dxmatrix * d3dxmatrixidentity(
d3dxmatrix * pout);
2.轉置
把pm轉置成pout
d3dxmatrixtranspose
d3dxmatrix * d3dxmatrixtranspose(
d3dxmatrix *pout,
const d3dxmatrix *pm);
3.求逆
計算pm的逆矩陣pout, pdeterminant為0
d3dxmatrixinverse
d3dxmatrix * d3dxmatrixinverse(
d3dxmatrix *pout,
float *pdeterminant,
const d3dxmatrix *pm);
4.建立平移矩陣
產生乙個平移矩陣pout,把其結果與要平移的矩陣進行叉乘
d3dxmatrixtranslation
d3dxmatrix* d3dxmatrixtranslation(
d3dxmatrix *pout,
float x,
float y,
float z);
5.建立旋轉矩陣
產生乙個旋轉矩陣pout,把其結果與要旋轉的矩陣進行叉乘
d3dxmatrixrotationx
builds a matrix that rotates around the x-axis.
d3dxmatrix * d3dxmatrixrotationx(
d3dxmatrix *pout,
float angle);
6.建立放大&縮放矩陣
產生乙個放大&縮放矩陣pout,把其結果與要放大&縮放的矩陣進行叉乘
d3dxmatrixscaling
d3dxmatrix * d3dxmatrixscaling(
d3dxmatrix *pout,
float sx,
float sy,
float sz);
注意4,5,6都是建立乙個變化矩陣,而不是把原來的矩陣進行變化!
相關**參考見:http://download.csdn.net/source/1777759
DirectX常用巨集
收集於網路 一 多重取樣 列舉 d3dmultisample type 極別選擇 d3dmultisample none 禁用s d3dmultisample 1 sample d3dmultisample 2 sample d3dmultisample 3 sample d3dmultisampl...
矩陣 DirectX與OpenGL的不同
矩陣是三維圖形學中不可或缺的部分,幾乎所有和變換相關的操作都涉及矩陣,世界變換,檢視變換,投影變換,視口變換無一不需要矩陣,但是當今的兩大主流圖形庫directx和opengl對矩陣操作卻有著細微的差別,大多數的圖形學書籍都以opengl為基礎進行闡述,遊戲程式設計類的書籍則更多使用directx,...
矩陣 DirectX與OpenGL的不同
矩陣是三維圖形學中不可或缺的部分,幾乎所有和變換相關的操作都涉及矩陣,世界變換,檢視變換,投影變換,視口變換無一不需要矩陣,但是當今的兩大主流圖形庫directx和opengl對矩陣操作卻有著細微的差別,大多數的圖形學書籍都以opengl為基礎進行闡述,遊戲程式設計類的書籍則更多使用directx,...