1.矩阵了解

1)矩阵的维度和记法

    (先数多少行,再数多少列)

    

2)矩阵的转置

        行变成列,第一行变成第一列...矩阵的转置的转置就是原矩阵

                   即       

3)矩阵和标量的乘法

      

4)矩阵和矩阵的乘法

    

    例.[2,3]X[3,4] =[2,4]

    矩阵的乘法不支持交换律,强调顺序,左乘和右乘是不一样的。

    NXM阶与SXT阶矩阵相乘,必须满足M和S维度相同,乘法的结果是一个NXT矩阵。

5)单位矩阵

      主对角线全部为1,非主对角线都为0,则为单位矩阵。

      单位矩阵乘任何矩阵,任何矩阵都不变。

      

2.矩阵变换

1)2D变换

      ①绕坐标中心旋转a角度

        

      ②缩放矩阵

          沿坐标轴缩放

          (k分别为x轴,y轴上缩放因子)

          

          沿任意N轴缩放

          

2)3D变换

      ①绕x,y,z轴旋转a度

          

      ②缩放矩阵

          

3)变换的种类

      旋转 缩放 平移 镜像

      切边(正方形上面拉一下,变成平行四边形,称之为切边)

      投影(分为 平行投影:Unity中正交相机,对物体大小不产生变化;透视投影:近大远小效果)

      可逆(施加了一个变换,还可以撤销)

      总结分类:

          线性变换

          仿射变换:线性变换+平移。

          所有的线性变换都是仿射变换,但并不是所有的仿射变换是线性变换。

       

4)常见变换组合

          满足结合律 a*b*c = a*(b*c)

   

总结:一般可以使用矩阵转换工具进行变换。物体只需要乘一次工具矩阵即可完成变换。      

3.变换深入

   当我们使用2x2旋转过后,我们只需要旋转后的xy分量各自加上也可。但是没有一个统一的工具去解决。为了能够

把平移和其他的线性变换都组合在一起,利用矩阵这一工具去实现。我们需要把这个矩阵做一个扩展,在2d中平移需要扩展

为3x3的矩阵。

1)2D平移(3X3矩阵)

  

  最后一个分量为何不取0?

  第一次做了平移之后如果为0,又要做平移,参与第二次分量计算,因为其分量为0,都为0了。所以没有达到平移的目的。

  

2)3D平移(4X4矩阵)

  

3)3D 旋转+平移

  

4)透视投影(近大远小)

  

  注意:这边本可以比较简单的使用等角三角形原理进行计算,但是还是使用矩阵来进行计算,因为可以方便的和其他

矩阵进行组合计算。

  

  注意:这边的最后一个坐标分量的值不是1.

4.方阵

  定义:行数和列数相等。

1)二阶方阵行列式

    

2)三阶方阵行列式

    

3)4阶行列式计算 

      代数余子式

        

    从方阵中任选一行中数,用这一行中每个元素去乘每个代数余子式。

    注意计算方式,正负值取决于行列下标(1开始的)

    行列式性质:

        矩阵积的行列式等于矩阵行列式的积:|AB| =|A||B|

        矩阵转置的行列式等于原矩阵的行列式:|M的转置| =|M|

        如果矩阵的任意行或列全为0,那么他的行列式等于0

         “把矩阵的任意两行或两列进行交换”,行列式变负

        任意行或列的非零积加到另一行或列上不会改变行列式的值

4)矩阵的逆

      ①逆的定义

      

      对于一个矩阵是否有逆,如果一个方阵他的行列式为0,成为奇异矩阵,没有逆。

有逆,则他的行列式一定不为0.

      代数余子式矩阵(对矩阵中每一个元素都取代数余子式)

      

      标准伴随矩阵

       当我们得到代数余子式矩阵之后,需要把这个代数余子式矩阵进行转置,称为标准伴随矩阵。

        

      矩阵求逆      

      定义检测

          

(主对角线都为1,其他都为0)

      ②矩阵逆 性质

        

      ③正交矩阵和逆

        若方阵M是正交的,则当且仅当M与它的转置的乘积等于单位矩阵。

        M*M的转置 = I(单位矩阵),即如果发现他是正交的,则可以把他的转置当做逆来使用。

        应用:

          仅仅拥有旋转,仅仅包含镜像。都是正交的。如果要撤销一个旋转,不用去求他的逆,直接用他的

转置就可以代替逆来使用。    

3D数学 矩阵常用知识点整理的更多相关文章

  1. 3D数学 ---- 矩阵和线性变换[转载]

    http://blog.sina.com.cn/s/blog_536e0eaa0100jn7c.html 一般来说,方阵能描述任意线性变换.线性变换保留了直线和平行线,但原点没有移动.线性变换保留直线 ...

  2. Koa 框架常用知识点整理

    简介 Koa 就是一种简单好用的 Web 框架.它的特点是优雅.简洁.表达力强.自由度高.本身代码只有1000多行,所有功能都通过插件实现. 学前准备 检查Nodejs版本 打开cmd命令行窗口nod ...

  3. Flow 常用知识点整理

    Flow入门初识 Flow是facebook出品的JavaScript静态类型检查工具. 由于JavaScript是动态类型语言,它的灵活性也会造成一些代码隐患,使用Flow可以在编译期尽早发现由类型 ...

  4. JavaScript常用知识点整理——思维导图

    如图 思维导图图片链接 http://www.edrawsoft.cn/viewer/public/s/b8327462051289 有道云笔记图片链接 http://note.youdao.com/ ...

  5. 3D数学读书笔记——矩阵基础

     本系列文章由birdlove1987编写,转载请注明出处.    文章链接:http://blog.csdn.net/zhurui_idea/article/details/24975031   矩 ...

  6. 3D数学读书笔记——矩阵基础番外篇之线性变换

    本系列文章由birdlove1987编写.转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25102425 前面有一篇文章 ...

  7. 数学:3D和矩阵

    跟紧工作需求学习,于是抽了点时间看了看用于2D3D转换的矩阵内容. 矩阵在3D数学中,可以用来描述两个坐标系间 的关系,通过定义的运算能够把一个坐标系中的向量转换到另一个坐标系中.在线性代数中,矩阵就 ...

  8. python基础全部知识点整理,超级全(20万字+)

    目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...

  9. Python--matplotlib绘图可视化知识点整理

    from:https://segmentfault.com/a/1190000005104723 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 强烈推荐ipython无论你 ...

随机推荐

  1. [Java算法分析与设计]--单向链表(List)的实现和应用

    单向链表与顺序表的区别在于单向链表的底层数据结构是节点块,而顺序表的底层数据结构是数组.节点块中除了保存该节点对应的数据之外,还保存这下一个节点的对象地址.这样整个结构就像一条链子,称之为" ...

  2. REBEL IDEA热部署插件使用

    启动 一.在IDEA 的Plugins中搜索Jrebel for intellij 插件 二.https://my.jrebel.com/account/how-to-activate 注册或者使用f ...

  3. IP路由及静态路由配置

    IP路由及静态路由配置 qianghaohao(CodingNutter) 链接来源:http://www.cnblogs.com/codingnutter/p/5654271.html 一.IP路由 ...

  4. 前端开发APP,从HBuilder开始~ 【转】

    内容简介 介绍目前前端人员开发app的几种方法,具体介绍hbuilder开发app,一扇赞新的大门~ 无所不能的js 最开始js仅仅局限于网页上一些效果,操作网页内容等, 但是nodejs把js带入了 ...

  5. spring事务机制

    一.Java动态代理 1.定义 Java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理. 默认情况下会采用JDK的动态代理实现AOP . 2. ...

  6. 消息中间件activemq的使用场景介绍(结合springboot的示例)

    一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境,使 ...

  7. poj 1696 极角排序求最长逆时针螺旋线

    Space Ant Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4970   Accepted: 3100 Descrip ...

  8. java 泛型详解(普通泛型、 通配符、 泛型接口,泛型数组,泛型方法,泛型嵌套)

    JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能-----Java的泛型.  1.Java泛型  其实Java ...

  9. Kafka基础

    简介 #概念:消息中间件(消息系统)      //消息系统分类:         点对点 消息队列(peer-to-peer)         发布/订阅 消息队列 消费者在消费时,是通过pull ...

  10. ATM机

    ATM 要求 示例代码: https://github.com/triaquae/py_training/tree/master/sample_code/day5-atm