3D数学基础:图形与游戏开发(第7章矩阵)笔记

矩阵-数学定义

在线性代数中,矩阵就是以行和列的形式组织的矩形数字块。向量是标量的数组,矩阵是向量的数组。

矩阵的维度和记法

M=m11m21m31m12m22m32m13m23m33

mij 表示 M 的第i行第 j 列元素。

方阵

行数和列数相同的矩阵称作方阵。
如果所有非对角线元素都为0,那么称这种矩阵为对角矩阵
单位矩阵是一种特殊的对角矩阵,对角线元素全为1。它是矩阵的乘法单位元,在某种意义上单位矩阵对矩阵的作用就如1对于标量的作用。

向量作为矩阵使用

1×n矩阵称作行向量, n×1 矩阵称作列向量。

转置

考虑一个 r×c 矩阵 M M的转置记为 MT ,是一个 c×r 矩阵,它的列由 M 的行组成,即MTij=Mji

行向量和列向量之间转置:

[xyz]T=xyz

转置引理
  • 对于任意矩阵 M (MT)T=M
  • 对于任意对角矩阵 D , 都有DT=D

标量和矩阵的乘法

矩阵 M 和标量k相乘,不需要写乘号,即用 k 乘以M中的每个元素。
kM=km11m21m31m12m22m32m13m23m33=km11km21km31km12km22km32km13km23km33

矩阵乘法

一个 r×n 矩阵 A 能够乘以一个n×c矩阵 B ,结果是一个r×c矩阵,记作 AB
矩阵乘法计算如下:记 r×n 矩阵 A n×c矩阵B的积 r×c 矩阵 AB C C的任意元素 Cij 等于 A 的第i行向量与 B 的第j列向量的点乘结果,即

cij=nk=1aikbkj

注意事项:
  • 任意矩阵 M 乘以方阵S,不管从哪边乘,都将得到与原矩阵大小相同的矩阵;
  • 矩阵乘法不满足交换律;
  • 矩阵乘法满足结合律;
  • 矩阵乘法也满足与标量或向量的结合律;
  • 矩阵乘积的转置相当于先转置矩阵然后以相反的顺序相乘:
    ABT=BTAT

    这一结论可以扩展到多个矩阵的情形:
    M1M2MnT=MTnMT2MT1

向量与矩阵的乘法

行向量左乘矩阵时,结果是行向量,列向量右乘矩阵时,结果是列向量。

注意事项
  • 结果向量中的每个元素都是原向量与矩阵中单独行或列的点积。
  • 矩阵中的每个元素决定了输入向量中特定元素在输出向量中占的比重。
  • 矩阵–向量乘法满足对向量加法的分配律, (v+w)M=vM+wM

行向量和列向量

  • 在文字中使用行向量的形式更好一些。
  • 当讨论怎样用矩阵乘法实现坐标转换时,向量左乘矩阵的形式更加直观方便。
  • DirectX使用的是行向量,OpenGL使用列向量。

矩阵—几何解释

一般来说,方阵能描述任意线性变换。从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或“卷折”坐标系。

矩阵是怎样变换向量的

  • 将向量表示为基向量的线性组和 v⃗ =xp⃗ +yq⃗ +zr⃗ 
  • 将矩阵解释为基向量集合
    M=p⃗ q⃗ r⃗ =pxqxrxpyqyrypzqzrz
  • [xyz]pxqxrxpyqyrypzqzrz=[xpx+yqx+zrxxpy+yqy+zryxpz+yqz+zrz]=xp⃗ +yq⃗ +zr⃗ 
  • 如果把矩阵的行解释为坐标系的基向量,那么乘以该矩阵就相当于执行了一次坐标变换,若有 a⃗ M=b⃗  ,我们就可以说, M a⃗ 转换到 b⃗  .

矩阵的形式

矩阵的每一行都能解释为转换后的基向量。

总结

  • 方针的行能被解释为坐标系的基向量。
  • 为了将向量从原坐标系变换到新坐标系,用它乘以一个矩阵。
  • 从原坐标系到这些基向量定义的新坐标系的变换是一种线性变换。线性变换保持直线和平行线,但角度、长度、面积或体积可能会被改变。
  • 零向量乘以任何矩阵仍然得到零向量。
  • 可以通过想象变换后的坐标系的基向量来想象矩阵。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值