图形学入门:向量与矩阵基础
图形学入门:向量与矩阵基础
图形学入门基础
本系列文章将介绍计算机图形学的基础知识,主要参考GAMES101课程,由闫令琪老师主讲。本文将重点介绍向量和线性代数的基本概念,以及它们在计算机图形学中的应用。
向量和线性代数(以右手坐标系为例)
向量
向量是计算机图形学中的基本概念,它具有大小(模长)和方向两个属性。向量可以进行多种运算,包括加法、减法、数乘、点积和叉积等。在二维空间中,向量可以用一个带箭头的线段来表示;在三维空间中,则可以用一个带箭头的三维线段来表示。向量可以用坐标来表示,例如在二维空间中,向量A可以表示为(x, y)。
向量运算遵循以下法则:
- 加法法则:向量的加法遵循平行四边形法则。如图所示,任意向量可以通过分解得到两条垂直的向量。假设向量从(0, 0)开始,那么上述向量可以表示为4X + 3Y,其中X和Y表示单位向量。
点乘(数量积):向量的点乘可以用来计算两个向量之间的夹角。点乘的结果是一个标量,其值等于两个向量的模长与它们夹角的余弦值的乘积。点乘可以用来判断两个向量是否同向、反向或垂直,以及它们之间的接近程度。
叉乘(向量积):向量的叉乘可以用来计算两个向量的垂直向量。叉乘的结果是一个向量,其方向遵循右手螺旋定则。如果两个向量同向,那么它们的叉乘结果为零向量。叉乘可以用来判断一个点是否在一个三角形内,以及计算三维空间中的正交向量。
矩阵
矩阵是计算机图形学中另一个重要的数学工具,它主要用于表示线性变换。矩阵乘积遵循以下法则:
矩阵乘积:两个矩阵A和B的乘积C,其中A的维度为M×N,B的维度为N×P,那么C的维度为M×P。例如,一个3×2的矩阵乘以一个2×4的矩阵,结果将是一个3×4的矩阵。
矩阵性质:矩阵乘法不满足交换律,即AB不一定等于BA。矩阵可以进行转置和求逆运算,一个矩阵乘以它的逆矩阵将得到单位矩阵。
向量的乘积可以转化为矩阵的乘积,这在计算机图形学中非常有用,因为矩阵运算可以更高效地处理大规模的向量运算。
总结
向量和矩阵是计算机图形学的基础,它们提供了描述和操作图形数据的基本工具。通过理解向量的运算和矩阵的性质,我们可以更好地掌握计算机图形学的核心概念,为后续学习更复杂的图形学算法打下坚实的基础。