日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

DirectX 矩阵

發布時間:2025/3/8 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DirectX 矩阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

基礎:

下標:第一個下標為該元素所在行的索引,第二個下標為該元素所在列的索引。如下圖所示

?

行向量和列向量:只有單行的向量稱為行向量,只有單列的稱之為列向量。

相等

維數和元素都相等

數乘(與標量相乘)

每一個元素與標量相乘

加法(矩陣+矩陣=矩陣)

兩個矩陣相應元素想加所得的矩陣,必須維數相等

矩陣乘法(矩陣*矩陣=矩陣)

條件:A的列數必須等于B的行數

定義:A(m*n) B(n*p) 則乘積AB有意義,且等于一個矩陣C(m*p),其中乘積C[i][j] = A的第i個行向量 * B的第j個列向量的點積。

單位矩陣(類似于標量1與矩陣相乘不改變矩陣)

定義:除主對角線上的元素為1外,其它全為0

單位陣可以作為一個乘法單位(multiplicative identity) MI = IM = M

即,用一個單位矩陣與某一個矩陣相乘,不改變該矩陣。而且,某一矩陣與單位矩陣相乘,是矩陣簡潔可交換的特例,單位矩陣對于標量可以認為是矩陣中的”1”

證明:

逆矩陣(矩陣的乘法逆運算)

  • 只有方陣才有逆矩陣
  • 一個n*n的矩陣M的逆矩陣也是一個n*n的矩陣用表示
  • 并非所有方陣都有逆矩陣
  • 一個矩陣與其逆陣的乘積為單位陣,當一個矩陣與其逆矩陣相乘時,可交換相乘次序

?

  • 矩陣的轉置

  • 通過交換矩陣的行和列

D3DX矩陣

編程D3DX程序時,我們通常只使用4*4的矩陣和1*4的行向量。注意,使用這兩種維護的矩陣,意味著以下矩陣乘法是有意義的:

向量-矩陣乘法。若v為1*4的行向量,T為4*4的矩陣,則乘積vT有意義,且其結果為1*4的行向量

矩陣矩陣乘法:若T和R都為4*4的矩陣,則乘積TR和RT有意義,其結果為4*4的矩陣。注意TR和RT不一定相等。

?

?

基本變換

1*4向量在3d坐標系中點表示方法p = (p1,p2,p3,0)?

1*4向量在3d坐標系中向量的表示方法 v = (v1,v2,v3,1) 擴展后的向量稱為齊次向量,因為齊次向量即可以表示點,又可以表示向量

向量處于齊次空間:

?

平移矩陣

要想將向量(x,y,z,1)沿x軸平穩px單位,y軸平移py個單位,z軸平移pz個單位 我們只需要將該向量與以下矩陣相乘

用于創建平移矩陣的D3DX函數為D3DXMatrixTranslation

旋轉矩陣

我們可以用如下3個矩陣分別表示繞x,y,z軸旋轉θ弧度

旋轉矩陣R的逆矩陣與其轉置相等,即

比例變的矩陣

比例變的

如果讓一個向量沿x,y,z軸分別放大qx,qy,qz倍,可令該向量與如下矩陣相乘

Dx中的函數為

幾何變的的組合

矩陣變換的一個最關鍵的優點是,可借助矩陣乘法將幾種變換組合為一個變換矩陣

向量變換的一些函數

D3DXVerc3TransformCoord函數對點進行變換,并假定向量第4個分量為1

D3DXVec3TransformNormal用于向量變換,并假定向量第4個分量為0

總結

以上是生活随笔為你收集整理的DirectX 矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。