矩阵的基本概念


矩阵其实就是向量的数组.向量算的上是特殊的一维矩阵.下面说一下几种特殊的方阵(行数和列数都相同的矩阵).

对角矩阵

如果所有的飞对角线元素都为0,那么这样的矩阵称之为***对角矩阵***.

######单位矩阵
单位矩阵是一种特殊的对角矩阵.n维单位矩阵记作***In***,是n x n的举证,对角线元素为1,其他元素为0.例如,3 x 3的矩阵如下所示.

(从书上抄袭过来的)单位矩阵非常的特殊,因为它是矩阵的***乘法单位元***.其基本性质是用任一个矩阵乘以单位矩阵,都将得到原矩阵.所有,从某种意义上讲,单位矩阵对矩阵的意义就如同1对标量的意义.

矩阵的运算


  • 转置

矩阵的转置其实就沿着矩阵的对角线翻折.(当然了,下面给给出的方阵的转置,普通的a x b矩阵的转置矩阵为 b x a 矩阵)

矩阵转置的推理

  • 将一个矩阵转置之后,再次转置一次,便会得到原来的矩阵.
  • 对于任意的对角矩阵***D***,都有转置矩阵***DT***=D,包括单位矩阵***I***也是如此.
  • 标量和矩阵的乘法

标量和矩阵的乘法只要将标量和矩阵中的每一个元素相乘即可.数学表达式如下所示.

  • 矩阵的乘法(请深究❗️❗️❗️)

在某些情况下,两个矩阵是允许相乘.一个 r x n的矩阵***A***能够乘以一个n x c的矩阵***B***,结果是r x c的矩阵***AB***.
条件: 矩阵A的***列数***和矩阵B的***行数***必须一致.否则两个矩阵相乘是没有任何意义的.

矩阵的乘法计算如下: r x n的矩阵***A***能够乘以n x c的矩阵***B***,结果是r x c的矩阵***C***.***C***中任意元素Cij等于***A***的第i行向量与***B***的第j列向量的点乘结果.正式定义如下.

我们看一下具体的示例.比如c22的计算为[a21,a22]和[b12,b22]的点乘.

可能上面的表示还是不是太让人理解,下面我们就用一种更为简便的方式来说一下矩阵的乘法.我们把矩阵***A***拿到矩阵***C***的左边,把矩阵***B***拿到矩阵***C***的上面,并且使其对齐.这样看起来是不是更容易一些呢?

当然了,在集合中我们更多的是使用2x2和2x2的两个矩阵相乘,以及3x3和3x3的两个矩阵相乘.我们根据公式计算即可.

矩阵的几何解释


与其说矩阵的几何意义这么生涩难懂,不如说的是矩阵在几何中到底是有什么作用呢?***一般来说,方阵可以描述任意的线性变换.***,也就说,在几何当中,我们用矩阵表示几何体的空间变换.比如我们在程序中常用的平移、旋转、缩放等等.(没事,这时候说的可能很生涩,看到最后你就会明白怎么回事的)

为了更好的理解矩阵的几何意义,我们先用一个简单的示例来说明一下.如果我们把一张图片放入一个2D的坐标系中(为了给下面做铺垫,向量形式为[x,y,0]),并且规定它的大小为边长为1的正方形.向量p = [0,1,0],向量q = [1,0,0].如下图所示.

现在我们就单独的看图片的右上顶点 [1,1,0] (可看做向量).

首先我们先把[1,1,0]这个向量拆分一下.如下所示.

紧接着.我们要定义一下,p,***q***和***r***定义为指向 +x,+y,+z方面的单位向量.然后用单位向量表示图片的右上顶点 [1,1,0] .如下所示.

现在,向量[1,1,0]就被表示成***p***,q***和***r***的线性变换了.向量***p,q***和***r***被称为***基向量.这里的基向量是笛卡尔坐标系.但是事实上,一个坐标系能用任意的3个基向量表示.当然了,这三个向量不在同一个平面.向量***p***,q***和***r***创建一个3x3的矩阵***M.如下所示.

当然了,矩阵M可不单单只有上面的一种形式,上面的只能算是一种形式,记住我们说过的,一个坐标系能用任意的3个基向量表示.接下来,我们再次研究一个向量和一个矩阵相乘.(图形变换的开始部分),先看一下公式.

我们还是要借助一开始栋哥的那个坐标系图形.如果矩阵M如下所示.那么图形将不会发生任何变换.

接下来,我们就搞起图形变换了.如果矩阵M发生了如下改变,那么图形会有什么样的变化呢?

在矩阵M中.向量***p***从[1 0 0]变换到[2 1 0],***q***从[0 1 0]变换到[-1 2 0],***r***未发生变化.然后我们图形的右上点会再次发生缩放和旋转的变换.

得到效果图如下所示.

上面是2D中的变换,3D中的变化一样类似.例如现在有向量***OB***[1 1 1],如下图所示.

同时矩阵M如下所示.

结果变换之后,向量的图像如下所示.

图形变换的实质


看到上面我们已经对矩阵的基本使用有了了解.但是我们在实际的开发过程中遇到的图形变换的实质到底是什么呢?我个人感觉图形变换的实质就是变换图形自身的坐标系.通过变换基向量来使我们的图形发生改变.


最后还是要附上<<3D数学基础 图形与游戏开发>>的pdf版的传送门来结束矩阵的相关知识.

<<3D数学基础 图形与游戏开发>>传送门

3D图形:矩阵的相关知识相关推荐

  1. 3D图形:矩阵的行列式,矩阵的逆、正交矩阵、齐次矩阵

    前言 在前面我们说到关于矩阵的一些计算知识,相信大家已经觉得进入了水深火热之中了,那么为了让大家感到更加刺激的视觉体验和感官体验,这一篇博客,我将对矩阵的行列式,矩阵的逆,正交矩阵,齐次矩阵进行探讨研 ...

  2. 计算机基础:图形、图像相关知识笔记

    1.图形.图像的基础知识 图形:由称为矢量的数学对象所定义的直线和曲线等组成. 图像:也称为栅格图像,由点阵图或位图图像.用像素来代表图像.每一个像素都被分配一个特点的位置和颜色值. 图形和图像之间在 ...

  3. 真彩色图像数据量 计算_计算机基础:图形、图像相关知识笔记

    1.图形.图像的基础知识 图形:由称为矢量的数学对象所定义的直线和曲线等组成. 图像:也称为栅格图像,由点阵图或位图图像.用像素来代表图像.每一个像素都被分配一个特点的位置和颜色值. 图形和图像之间在 ...

  4. [3D数学基础:图形与游戏开发]读书笔记 第9章(矩阵的更多知识、行列式、逆、正交矩阵、4x4齐次矩阵)未完待续

    第9章 矩阵的更多知识 矩阵的行列式 任何一个方阵都存在一个标量,称为行列式,非方阵的行列式是未定义的 2x2矩阵行列式 3x3矩阵行列式 余子式 从M去除第i行和第j列剩余的矩阵,代数余子式是标量 ...

  5. 图形相关知识(显示)

    1. 图形 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bepS0Lhf-1630391870991)(https://source.android.com/devi ...

  6. 【西川善司的3D图形技术连载】GPU和Shader技术的基础知识(1~8回)

    本连载的主要目的,是介绍最新的PC和GAME所使用的最新3D图形技术的发展趋势. 暂时的方针是,首先是考虑介绍比较新的PC Game和PS3,XBOX360等新时代游戏机的游戏所采用的技术. 那么首先 ...

  7. 3D建模的相关知识,想学习之前也必须了解以下几点!

    3D建模如何工作? 艺术家通常首先生成某种类型的图元文件,例如立方体,球体或平面.图元只是开始建模的起始形状.艺术家将以这种基本形式为基础,并使用各种建模工具对其进行操作.对于3D建模,从简单开始逐步 ...

  8. MVG学习笔记(7) --自动标定和3D图形模型

    文章目录 自动标定 已知在无穷远处的平面 给定图像中的方形像素进行自动校准 3D图形模型 视频增强 自动标定   在不了解相机标定的情况下,不可能比射影重建做得更好.   在任意数量的视图中的一组特征 ...

  9. ✠OpenGL-4-管理3D图形数据

    目录 数据类型和函数名前后缀含义 缓冲区和顶点属性 统一变量 顶点属性插值(光栅着色器) 模型-视图和透视矩阵 第一个3D程序--一个3D立方体 打印[模型-视图矩阵]对象 分析:物体经模型-视图矩阵 ...

最新文章

  1. 万能android调用webservice方法——参数类型不受限制
  2. Apache RocketMQ在linux上的常用命令
  3. mysql-安装报错计算机中丢失MSVCR100.dll文件丢失
  4. 从一个点云里面创建一个深度图
  5. ASP.NET中对Exception的统一集中处理常见的有两种方式的一些问题总结
  6. Linux上的ffmpeg完全使用指南
  7. unity3D僵尸模型和场景带动作,unity游戏素材
  8. UWP的一种下拉刷新实现
  9. python平行四边形代码_python 已知平行四边形三个点,求第四个点的案例
  10. Grow up way
  11. 独立站SEO到底怎么做?
  12. psp模拟器linux,PSP模拟器PPSSPP 1.7 发布,兼容性和错误修正
  13. 机器学习 最小角回归法 LARS
  14. 【怎么辨别一个公司是不是外包?】
  15. 水果店刚起步要怎么做,一家水果店要准备什么
  16. adas记录仪app_完爆行车记录仪,这款APP还能分析驾驶行为?老司机进来鉴定下...
  17. The Softer Side of the Architect
  18. oracle非分区表,转分区表
  19. Codeforces 200A Cinema 并查集 + 思维 (看题解)
  20. 《弃子长安》第五章 杀气惊蝉

热门文章

  1. 学生奖罚管理系统Java_学生管理系统
  2. NLP学习(十)-情感分析技术及案例实现-Python3实现
  3. C# npoi读execel 未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neut al, PublicKeyTok
  4. c语言 跨子程序跳转,PLC的条件跳转,子程序调用等指令使用方法
  5. 日本“经营之神”稻盛和夫去世,终年90岁,人生信条:“每天都必须特别认真地生活。”...
  6. ESM测向误差对定位误差的影响分析
  7. java分层窗格_Swing拆分窗格控件JSplitPane使用详解
  8. zabbix监控nginx状态,显示状态active,accepts,handled,requests
  9. 咖说丨一文说清“链上”和“链下”
  10. 预期与实际运行结果的对比