在使用 OpenGL 的应用程序中,当我们指定了模型的顶点后,顶点依次会变换到不同的 OpenGL 空间中,最后才会被显示到屏幕上。在变换的过程中,通过使用矩阵,我们更高效地来完成这些变换工作。
本篇博客主要介绍的是矩阵以及矩阵在空间几何中的应用。关于 OpenGL 空间,我把它们安排在了另一篇博客OpenGL 的空间变换(下):空间变换中来介绍。
本篇博客主要分为两部分:矩阵基础和矩阵在空间几何中的应用。对熟悉矩阵的读者来说,可以跳过矩阵基础直接阅读第二部分。
矩阵基础
数学上,一个 mxn 的矩阵是一个由 m 行 n 列元素排列成的矩形阵列。矩阵里的元素可以是数字、符号或者数学式。例如下面是一个由 6 个数字构成的 2 行 3 列矩阵:
对于行(列)数为 1 的矩阵,我们称为行(列)向量。注意,这里的向量与空间几何中的向量并不是同一个概念。为了更好地区分两者,接下来只要描述的是矩阵的向量,本文都会以行(列)向量来表示。否则,描述的就是空间几何中的向量。
矩阵的基本运算