闫令琪计算机图形学GAMES101笔记-01线性代数-向量点乘叉乘、矩阵
闫令琪计算机图形学GAMES101笔记-01线性代数-向量点乘叉乘、矩阵
计算机图形学是计算机科学中的一个重要分支,广泛应用于游戏开发、电影特效、虚拟现实等领域。本篇笔记将带你深入理解计算机图形学中的线性代数基础,包括向量点乘、叉乘和矩阵等核心概念。
2.课程01-线性代数相关
向量是计算机图形学中的基本元素,用于表示方向、长度和相对位置。单位向量是长度为1的向量,可以通过向量除以其长度得到。在图形学中,单位向量常用于表示方向。
向量求和有两种方法:平行四边形法则和三角形法则。平行四边形法则是将两个向量的起点放在同一位置,然后形成平行四边形;三角形法则则是将一个向量的终点与另一个向量的起点相连。
2.1 向量点乘
向量的点乘(内积)是一个标量,其计算公式为:
点乘可以用来计算两个向量之间的夹角。当两个向量都是单位向量时,点乘的结果就是它们的夹角余弦值。点乘满足交换律、结合律和分配律。
在坐标系中,点乘可以通过对应元素相乘求和来计算。向量投影是点乘的一个重要应用,它可以将一个向量分解为另一个向量方向上的分量和垂直于该向量的分量。
在计算机图形学中,点乘可以反映两个向量的接近程度。当一个向量从另一个向量出发旋转至反方向时,点乘值从1变化到-1,经过0(垂直)。
2.2 向量叉乘
向量的叉乘(外积)结果是一个向量,方向垂直于原始两个向量构成的平面。叉乘的方向可以通过右手定则来确定:将右手的四指从第一个向量经过夹角指向第二个向量,大拇指的方向即为叉乘结果的方向。
叉乘不满足交换律,但满足结合律和分配律。在坐标系中,叉乘可以通过矩阵运算来计算。
在计算机图形学中,叉乘可以用来判断两个向量的相对位置(左或右),进而判断一个点是否在三角形内部。例如,通过计算三角形边向量与目标点向量的叉乘,可以判断目标点是否在三角形内部。
2.3 矩阵
矩阵是计算机图形学中另一个重要的数学工具,用于表示线性变换。矩阵乘积要求左侧矩阵的列数等于右侧矩阵的行数。矩阵乘法不满足交换律,但满足结合律和分配律。
矩阵与向量相乘可以对向量进行变换操作,如旋转、缩放和平移。矩阵转置是将矩阵的行列互换,矩阵乘积的转置等于位置取反分别转置的乘积。
单位矩阵是一个特殊的矩阵,其对角线元素为1,其他元素为0。逆矩阵是与原矩阵相乘得到单位矩阵的矩阵。矩阵乘积的逆等于位置取反分别取逆的乘积。
向量的点乘和叉乘都可以用矩阵形式来表示,这在计算机图形学的计算中非常有用。
总结
本篇笔记详细介绍了计算机图形学中线性代数的基础知识,包括向量点乘、叉乘和矩阵等核心概念。这些知识是理解和实现计算机图形学算法的基础,对于从事游戏开发、虚拟现实等相关领域的技术人员具有重要参考价值。