11.1、概述
线性代数包括了对于矢量、坐标系(又被称为矢量空间)和函数的研究,其中函数 会根据指定的线性方程组和矩阵系统的规则来变换矢量。几乎计算机图形的所有方面都 是使用线性代数实现的,虽然有类似三角学的替代方法可用。线性代数利用的是计算机 能够快速执行的类似加法、减法和乘法的简单运算。
点、矢量和坐标轴等术语是在第1章介绍的。要理解本章的内容就有必要熟悉这些术语。回想第1章,矢量相加可以产生新的矢量。每个3D矢量可以描述为三个轴对齐矢量的和。3D点的位置是使用三个坐标值{X,Y, Z}来存储的。一个点的位置同样可以表示为从坐标系原点到这个点的位置的一个矢量。
坐标系是使用矩阵定义的。使用矩阵可以把一个点的位置从一个坐标系高效地转换到另一个坐标系。最终,GPU会要求所有的顶点位置以OpenGL默认坐标系来表达,以便GPU能够获悉点落在了渲染缓存的哪里。下一节会讲解矩阵是如何编码坐标系的 定义的。