《3D Math Primer for Graphics and Game Development》读书笔记2

上一篇得到了"矩阵等价于变换后的基向量"这一结论。

本篇只涉及两章,但容量已足够喝一壶了。

第8章 矩阵和线性变换

变换物体和变换坐标系是等价的,将物体变换一个量等价于将坐标系变换一个相反的量。

旋转rotation

2D中的旋转只有一个参数:角度θ,逆时针经常被认为是正方向。

在3D场景中,绕轴旋转而不是点。绕轴旋转θ°时,必须知道哪个方向被认为是正方向。在左手坐标系中用左手法则,在右手坐标系中用右手法则判定。

为单位向量,方向任意,旋转角度为θ,那么相应的旋转矩阵为:

缩放scaling

为平行于缩放方向的单位向量,k为缩放因子,缩放沿穿过原点且平行于的直线(2D)或平面(3D)进行。

2D的缩放公式

3D的缩放公式

投影projection

2D中,

3D中,

镜像reflection

2D中,

3D中,

切变shearing

切变时角度会变化,但面积和体积不变。

第9章 矩阵的更多知识

行列式determinant

上图展示了行列式的计算方法。可以将任意一行作为主行,然后写出行列式;也可以按列来写,结果都是一样的。

2×2矩阵的行列式等于其围成的平行四边形的有符号面积。

3×3矩阵的行列式等于以变换后的基向量为三边的平行六面体的有符号体积。

如果行列式为零,那么该矩阵包含投影;如果行列式为负,那么该矩阵包含镜像。

矩阵的逆

假设矩阵M有r行c列。记法M{ij}表示从M中除去第i行第j列后剩下的矩阵。称为M的余子式。余子式是一个矩阵。

余子式的有符号行列式称为代数余子式。

用Cij表示M的第i行第j列元素的代数余子式。代数余子式是一个标量。

可以用代数余子式求行列式。

例如4×4矩阵

矩阵M的逆记作M-1,也是一个矩阵,且满足

M的标准伴随矩阵记作adj M,定义为M的代数余子式矩阵的转置矩阵。例如:

M的代数余子式矩阵:

M的标准伴随矩阵:

M的逆矩阵:

标准伴随矩阵提供无分支计算逆矩阵的方法。还有一种求逆矩阵的方法是高斯消元法。

正交矩阵

旋转和镜像矩阵是正交的。

正交矩阵的每一行代表的基向量都是单位向量,且行互相垂直。

矩阵正交化

施密特正交化:

改进的施密特正交化:

4×4齐次矩阵

4×4矩阵可以同时表示线性变换(旋转、缩放。。。)和平移。这是使用4×4矩阵的原因之一。

仿射变换

仿射变换的基本思路是,先平移到原点,然后执行线性变换,最后反向平移回去。

《3D Math Primer for Graphics and Game Development》读书笔记2的更多相关文章

  1. <数据挖掘导论>读书笔记11异常检测

    异常检测的目标是发现与大部分其他对象不同的对象.通常,异常对象被称作离群点(Outlier). 异常检测也称偏差检测(Deviation detection),因为异常对象的属性值明显偏离期望的或者常 ...

  2. <数据挖掘导论>读书笔记10聚类分析续

    基于原型的聚类 模糊c均值使用模糊逻辑和模糊集合论的概念,提出一种聚类方案,它很像K均值,但是不需要硬性地将对象分派到一个簇中.模糊c均值算法有时也称为FCM 混合模型聚类采取这样的访谈,簇集合可以用 ...

  3. <数据挖掘导论>读书笔记9聚类分析

    1. 聚类分析仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组. 其目标是组内的对象相互之间是相似的或者相关的,而不同组中的对象是不同的或者不相关的. 2.聚类分析的重要技术 K均值:K均值 ...

  4. <数据挖掘导论>读书笔记8FP树

    1FP树

  5. <数据挖掘导论>读书笔记7 Apriori算法

    Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法.其核心是基于两阶段频集思想的递推算法.该关联规则在分类上属于单维.单层.布尔关联规则.在这里,所有支持度大于最小支持度的项集称为频繁项 ...

  6. <数据挖掘导论>读书笔记4--其他分类技术

    1.基于规则的分类器 2.最近邻分类器 3.贝叶斯分类器 4.人工神经网络 5.支持向量机 6.组合方法 7.不平衡类问题 8.多类问题

  7. <数据挖掘导论>读书笔记6关联分析的高级概念

    处理联系属性: 基于离散化的方法 基于统计学的方法 非离散化方法 处理概念分层 定义在一个特定领域的各种实体或者概念的多层组织.概念分层可以用有向无环图DAG来标示. 序列模式 可选计数方案 COBJ ...

  8. <数据挖掘导论>读书笔记5关联分析的基本概念和算法

    关联规则的强度可以用support度和confidence(置信)度来度量 关联规则发现  给定事务的集合T,关联规则发现是指找出支持度大于等于minsup并且置信度大于等于minconf的所有规则, ...

  9. <数据挖掘导论>读书笔记3--分类

    1.分类的基本概念 分类任务就是通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y 目标函数也称为分类模型. 2. 解决分类问题的一般方法: 决策树分类法 基于规则的分类法 神经网 ...

  10. <数据挖掘导论>读书笔记2

    1.频率和众数 frequency(vi)=具有属性值vi的对象数/m 分类属性的众数mode是具有最高频率的值. 2.百分位数 3.位置度量:均值和中位数 4.散布度量:极差和方差 绝对平均偏差 A ...

随机推荐

  1. Java 之 集合框架(JCF)

    1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点: ...

  2. VS下运行项目时,检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

    vs2012调试时默认会是集成模式,vs2012调试时怎么使用传统模式哪? 这个时候只要选中启动项目按F4,在托管管道模式里选传统模式即可!

  3. Tween Animation----Rotate旋转动画

    activity_main.xml布局里 在res/下面新建一个anim文件夹用来保存动画的xml属性 我们在anim文件夹下面创建一个rotate.xml文件 代码如下: <?xml vers ...

  4. 教你如何做Lotus Domino的应用开发

    http://www.lotuschina.net/club/thread-7309-1-1.html

  5. MVC Html.BeginForm 与 Ajax.BeginForm 使用总结

    最近采用一边工作一边学习的方式使用MVC5+EF6做一个Demo项目, 期间遇到不少问题, 一直处于研究状态, 没能来得及记录. 今天项目进度告一段落, 得以有空记录学习中遇到的一些问题. 由于MVC ...

  6. 半吊子学习Swift--天气预报程序-准备工作

    MacBookPro买完快半年了,当初想着买个本本学点ios,买完就看了几天的教程[捂脸],最近发现人都要废了,想重新开始学习Swift并将每天的进程通过博客发布来督促自己. 由于文笔不好,接触Swi ...

  7. 解决jquery新加入的元素没有绑定事件问题

    在使用jquery操作时,往往需要动态的添加一些元素,但是这些新加入的元素并没有像css那样被赋予原本定义的样式,解决方法如下: 1.动态插入元素后,并用bind事件给新加入的元素绑定事件. 2.如果 ...

  8. 原生js模拟锚点,实现点击后,内容定位到本页的对应位置

    今天在做angularJS项目过程中,遇见了一个需求,在一个页面中有多个表格,每个表格都有对应的分页,点击顶部对应的模块,可以定位到每个表格模块具体的位置. 页面如下所示: 在angular中,为了使 ...

  9. mac安装虚拟机

    1. 安装VirtualBox 2. 新建,按照步骤一步步选择 3.安装系统镜像 xp_sp3_74070.iso CN_WIN7_SP1_X64_33in1_V1.2.iso 设置磁盘分区等 4.V ...

  10. APP设计资源

    在开发独立客户端时,需要一些不同尺寸的图标和图片,统计如下. APP 图标 ICON iOS:(主要需要这三类图标) 58x58 87x87 (Spotlight & Settings) 80 ...