D3D矩阵数学知识

本文深入探讨Direct3D(D3D)中的矩阵数学,包括矩阵的构造、变换原理及其在图形编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

D3D矩阵数学知识

D3D编程必备的数学知识(3)

矩阵
在这一部分我们关注的焦点是数学中的矩阵。它们在3D图形学中的应用将在下一部分讲解。
一个m×n的矩阵是由m行和n列的数字组成的矩阵列。行和列的数字就是这个矩阵的维数。我们通过写在下方的数字识别矩阵清单,数字中的第一个表示行第二个表示列。例如下边的M是3×3矩阵,B是2×4矩阵, C是3×2矩阵。
 
我们使用加粗的大写字母表示矩阵。有时一个矩阵只包含一行或者一列。我们用行矩阵和列矩阵这个特殊的名称来称呼。例如下边就是行和列矩阵:
 
 
当使用行或列矩阵时,我们只用一个下标,有时我们还用字母表示。
 
 
 
 
 
 
 
 
 
D3DX 矩阵
当设计Direct3D应用程序时,使用4×4矩阵和1×4行矩阵(向量)是有代表性的。注意使用这两种矩阵意味着可以进行下列定义的矩阵乘法。
n       向量-矩阵乘法。即,假如1×4的单行矩阵V,和4×4的矩阵T,那么积VT可计算并且返回的结果是一个1×4的单行矩阵(向量)。
n       矩阵-矩阵乘法。即,假如4×4的矩阵T,和4×4的矩阵R,那么积TR和RT可计算并且两者返回的结果都是一个4×4的矩阵。注意因为矩阵乘法不满足交换律所以TR和RT不一定相等。
在D3DX中表示1×4的行矩阵(向量),我们用D3DXVECTOR3和D3DXVECTOR4向量类。当然D3DXVECTOR3只有3个成员,不是4个。然而,第4个成员缺省是10(在下一部分有更多信息)。
在D3DX中表示4×4的矩阵,我们用D3DXMATRIX类,定义如下:





typedef struct D3DXMATRIX : public D3DMATRIX
{
   
   
public:
    D3DXMATRIX() {
   
   };
    D3DXMATRIX(CONST FLOAT*);
    D3DXMATRIX(CONST D3DMATRIX&);
    D3DXMATRIX(FLOAT _11, FLOAT _12, FLOAT _13, FLOAT _14,
               FLOAT _21, FLOAT _22, FLOAT _23, FLOAT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值