前排瞌睡杂物堆

LKH 求存,探路,躬行,旁通,振兴,延续。
第二阶段,启动!

0%

GAME101学习笔记02

摘要:
线性代数知识回顾;向量;矩阵。

向量

向量点乘

A指向B的方向,由B坐标减去A坐标表示。

向量的重要性质:方向、长度(可表示为程度)。

不关心起始点的绝对位置,因为平移不改变其方向性。

归一化向量 = 原始向量 / 向量长度。

向量相加:
平行四边形/三角形法则(物理几何理解)。
向量相加
笛卡尔坐标相加(数学理解)
向量相加2

向量默认是列向量,方便算向量长度(左乘矩阵)。

向量点乘:已知两个向量的方向及长度,求向量间夹角的余弦值。
向量点乘
直角坐标系下,向量点乘为向量中对应的元素相乘并相加。
向量点乘2

一个向量在另一个向量上的投影,可通过点乘来求出。
向量投影可用于做向量(的正交)分解。

向量点乘用于确定向量前后向:以向量a为正向,则向量终点在虚线上方(一、二象限)为前方向,在虚线下方(三、四象限)为后方向。通过点乘的值可以判断出另一个向量是否与当前向量同向,图中a·b值为正,a·c值为负。
特殊情况:点乘值为0时两个向量垂直。也可以说点乘反映两个向量的接近程度,值为1时两个向量重合,-1时两个向量反向。
向量点乘3

向量叉积

叉积的结果为向量,该向量垂直于原来两个向量所在的平面(新向量与原来的两个向量不在同一平面),
向量叉积1

右手螺旋定则:四指正对一个向量,转动手指指向另一个向量,此时大拇指指向叉积得到的向量。
在三维空间中,给定一个向量其两个轴向的值,可以叉积出余下一个维度方向的值。

向量叉积自己,得到一个长度为0的向量(参考向量投影)。
向量叉积满足交换律和结合律。
向量叉积2

向量叉积能表示为矩阵形式。
向量叉积3

向量叉积判断左右、内外:
若向量A叉乘向量B的值为正,则B在A的左侧(逆时针旋转)。
三角形ABC中,判断P点是否在三角形内部,先算AB叉乘AP,值为正,P点在AB左侧;再用BC去叉乘BP,值为正,P点在BC左侧;最后算CA叉乘CP,P点在CA左侧,则说明P点在三角形ABC内部。否则,P点至少在其中一边的右侧。
向量叉积4
作用:叉乘判断内外是三角形光栅化的基础,判断三角形覆盖了哪些像素。
特殊情况(点在边上),极端情况自己说了算。

矩阵

矩阵乘积的合理性:左乘矩阵的列数要等于右乘矩阵的行数。
矩阵值按向量点乘的方式来计算,取左乘矩阵行数的元素*右乘矩阵列数的元素,最后再累加。
矩阵乘积1
矩阵乘积不满足交换律(不考虑特殊矩阵),满足结合律和分配律。

矩阵乘向量的一个应用:向量的轴对称映射(/向量求镜像)。
下图的二维向量以Y轴做抽对称,得到的正x值变为-x。
矩阵乘积2

矩阵乘积的转置:把内部的矩阵转置后,逆序排列再乘积。

向量的点乘、叉积可以写成矩阵形式。叉乘的不太直观,他会把向量写为dual矩阵的形式。
矩阵乘积3