本系列文章由birdlove1987编写,转载请注明出处。

文章链接:http://blog.csdn.net/zhurui_idea/article/details/25242725

最终要学习矩阵的平移了,通过平移能够处理非常多问题,包含非坐标轴基准的变换问题,不同坐标系转换问题。嘿嘿!

行列式(事实上行列式就是一种计算法则)

在随意矩阵中都存在一个标量,称作该方阵的行列式

方阵M的行列式记作 |M| 或 det M 。非方阵矩阵的行列式是没有定义的。

2 * 2阶矩阵行列式的定义

3 * 3阶矩阵行列式的定义

ps:(1)矩阵积的行列式等于矩阵行列式的积 |AB| = |A||B|

(2)矩阵转置的行列式等于原矩阵的行列式 

(3)假设矩阵的随意行或列全为零,那么它的行列式等于零。

(4)交换矩阵的随意两行或两列,行列式变负。

(5)随意行或者列的非零积加到还有一行或列上不会改变行列式的值。

矩阵的行列式有着很有趣的几何解释

2D中,行列式等于以基向量为两边的平行四边形的有符号面积。3D中,行列式等于以变换后的基向量为三边的平行六面体的有符号体积

行列式和矩阵变换导致相关的尺寸改变。当中行列式的绝对值和面积(2D)、体积(3D)的改变相关。行列式的符号说明了变换矩阵是否包括镜像投影

矩阵的行列式还能对矩阵所代表的的变换经行分类。假设矩阵行列式为,那么该矩阵包括投影。假设矩阵行列式为,那么该矩阵包括镜像

矩阵的逆

矩阵的逆是矩阵的一种重要的运算,这样的运算仅仅能适用方阵

方阵M的逆,记作,也是一个矩阵,当M与相乘时,结果是单位矩阵

并不是全部的矩阵都有逆矩阵。假设一个矩阵有逆矩阵,那么称它为可逆的非神秘的。假设一个矩阵没有逆矩阵,则称它为不可逆的神秘矩阵神秘矩阵的行列式为零,非神秘矩阵的行列式不为零,所以检測行列式的值是推断矩阵是否可逆的有效方法。

ps:(1) 假设M是非神秘矩阵,则该矩阵的逆的逆等于原矩阵  

(2) 单位矩阵的逆就是它本身。

(3) 矩阵转置的逆等于它的逆的转置 

矩阵的逆在几何上很实用,由于它使得我们能够计算变换的“反向”或“相反”变换——能“撤销”原始变换的变换,全部假设向量v用矩阵M来进行变换,接着用M的逆进行变换,将会得到原向量。

正交矩阵

当方阵M与它的转置的乘积等于单位矩阵,方阵M就是正交的

假设一个矩阵是正交的,那么它的转置等于它的逆,我们能够用这个规律来检測矩阵的正交性

ps:这条性质很实用,由于实际应用中常常须要计算矩阵的逆,而3D图形计算中正交矩阵出现得又是如此频繁,这条性质能够大大的降低计算量。

4 x 4齐次矩阵

在4D齐次空间中,4D向量有4个分量,前3个是标准的x,y和z分量,第四个是w,有时称作齐次坐标

增加了w分量,我们就能够利用这个分量来进行3D平移了。

4D向量中的w分量还起到了“开关”4x4矩阵平移部分的作用。

这个现象是很实用的,由于有些向量代表“位置”,应当平移,而有些向量代表“方向”不应该平移。从几何意义上讲,能将第一类数据当作点,第二类数据当作向量。



-End-

參考文献:(1)《3D Math Primer for Graphics and Game Development》

(2)百度百科

3D数学读书笔记——矩阵进阶的更多相关文章

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

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

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

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

  3. 3D数学读书笔记——四元数

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25400659 什么是四元数 ...

  4. 3D数学读书笔记——向量运算及在c++上的实现

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

  5. 3D数学读书笔记——多坐标系和向量基础

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24662453 第一个知识点 ...

  6. 3D数学读书笔记——3D中的方位与角位移

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25339595 方位和角位移 ...

  7. 3D数学学习笔记——笛卡尔坐标系

    本系列文章由birdlove1987编写.转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24601215 1.3D数学 ...

  8. 3D数学--学习笔记(五岁以下儿童):总结一些概念(避免遗忘!)

    下面是一些概念只是一个简单的解释,这里是它的一个简单的了解! 当人们谈论,我能理解有关. 1.正交投影: 投影.这意味着降维操作. 全部的点都被拉平至垂直的轴(2D)或平面(3D)上.这样的类型的投影 ...

  9. 『TensorFlow』读书笔记_进阶卷积神经网络_分类cifar10_上

    完整项目见:Github 完整项目中最终使用了ResNet进行分类,而卷积版本较本篇中结构为了提升训练效果也略有改动 本节主要介绍进阶的卷积神经网络设计相关,数据读入以及增强在下一节再与介绍 网络相关 ...

随机推荐

  1. 深入解析Dropout——基本思想:以概率P舍弃部分神经元,其它神经元以概率q=1-p被保留,舍去的神经元的输出都被设置为零

    深度学习网络大杀器之Dropout——深入解析Dropout  转自:https://yq.aliyun.com/articles/68901 摘要: 本文详细介绍了深度学习中dropout技巧的思想 ...

  2. 【SCOI 2005】 骑士精神

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1085 [算法] IDA* [代码] #include<bits/stdc++. ...

  3. exchange&nbsp;2010-备份还原

    操作系统:Windows Server 2008R2 \ Exchange2010 测试 1.使用Administraotr用户进行查看己有邮件,如下图: 2.备份Exchange2010整个数据库, ...

  4. [CF1139 E] Maximize Mex 解题报告 (二分图匹配)

    interlinkage: https://codeforces.com/contest/1139/problem/E description: 有$n$个学生,$m$个社团,每个学生有一个能力值,属 ...

  5. java网络通信编程

    网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设 ...

  6. LeetCode Weekly Contest 27

    1. 557. Reverse Words in a String III 分割字符串,翻转. class Solution { public: string reverseWords(string ...

  7. nfs server and client

    系统环境:Centos7.3 ip1:10.0.0.1 ip2:10.0.0.2 检测是否安装NFS服务 rpm -qa | grep   nfs rpm  -qa|grep    nfs 安装NFS ...

  8. 通过Hibernate实现添加功能

    package com.demo.dao; import org.hibernate.Session; import org.hibernate.SessionFactory; import org. ...

  9. 使用Micrisoft.net设计方案 第三章Web表示模式

    第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设 ...

  10. React安装 脚手架create-react-app安装步骤及问题

    create-react-app 是来自于 Facebook的脚手架,通过该命令我们无需配置就能快速构建 React 开发环境. 安装步骤: 1.先装脚手架     PS:第一次装直接在打开CMD默认 ...