3D数学读书笔记——矩阵进阶
本系列文章由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数学读书笔记——矩阵进阶的更多相关文章
- 3D数学读书笔记——矩阵基础
本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/24975031 矩 ...
- 3D数学读书笔记——矩阵基础番外篇之线性变换
本系列文章由birdlove1987编写.转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25102425 前面有一篇文章 ...
- 3D数学读书笔记——四元数
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25400659 什么是四元数 ...
- 3D数学读书笔记——向量运算及在c++上的实现
本系列文章由birdlove1987编写.转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24782661 ...
- 3D数学读书笔记——多坐标系和向量基础
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24662453 第一个知识点 ...
- 3D数学读书笔记——3D中的方位与角位移
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25339595 方位和角位移 ...
- 3D数学学习笔记——笛卡尔坐标系
本系列文章由birdlove1987编写.转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24601215 1.3D数学 ...
- 3D数学--学习笔记(五岁以下儿童):总结一些概念(避免遗忘!)
下面是一些概念只是一个简单的解释,这里是它的一个简单的了解! 当人们谈论,我能理解有关. 1.正交投影: 投影.这意味着降维操作. 全部的点都被拉平至垂直的轴(2D)或平面(3D)上.这样的类型的投影 ...
- 『TensorFlow』读书笔记_进阶卷积神经网络_分类cifar10_上
完整项目见:Github 完整项目中最终使用了ResNet进行分类,而卷积版本较本篇中结构为了提升训练效果也略有改动 本节主要介绍进阶的卷积神经网络设计相关,数据读入以及增强在下一节再与介绍 网络相关 ...
随机推荐
- 【SDOI 2010】 古代猪文
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1951 [算法] 欧拉定理+中国剩余定理 + lucas定理 [代码] #includ ...
- [源码管理] Windows下搭建SVN服务器
前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效 ...
- 适配器模式(adapter)C++实现
意图:将一个类的接口转换成客户希望的另一个接口. 适用性:1.你想使用一个已存在的类,而它的接口不符合你的需求. 2.你想创建一个可以复用的类,该类可以与其它不相关的类或不可预见的类协同工作. 类适配 ...
- Cocos2d-x-3.6学习笔记第一天
系统环境: win7,python2.7 开发工具:vs2013 cocos版本:cocos2d-x-3.6 暂无模拟手机的环境 新建我的第一个cocos2d项目 1.打开cmd,cd到cocos2d ...
- Eclipse中Git的基本使用
以下所有命令如没有特殊说明,均在命令行中完成(cmd窗口) 1.全局设定(需要告诉git自己是谁) git config --global user.name "你的名字或昵称&quo ...
- 使用postman模拟登录请求
Cookie 可以写在Headers里面
- Windows平台上使用ANT编译Hadoop Eclipse Plugin
一.准备工作: 1.安装JDK 下载页面:http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK6,JDK7都 ...
- 给DBA 的mysql脚本格式
- Linux 中文件名颜色所代表的属性
1. 白色:表示一般文件 2. 蓝色:表示目录 3. 绿色:表示可执行的文件或程序 4. 浅蓝色:表示链接文件 5. 黄色:表示设备文件 6. 灰色:表示其他类型文件 7. 红色:表示压缩文件或者包文 ...
- 路飞学城Python-Day107
88-Ajax简介 Ajax是前端的JS技术,目前向服务器发送请求是通过1.向浏览器的地址栏发送请求的方式:2.form表单的请求方式是两种get和post方式:3.a标签的href属性对接地址 是一 ...