图形学基础要点

图形学是游戏、VR、AR等所有关联3D空间的基础,这里记录图形学基础知识要点。

齐次坐标和变换矩阵

三位空间的坐标可以使用三维向量来表示(x, y, z),但变换矩阵一般以4x4的矩阵来表示,这就引入了齐次坐标(x, y, z, w),一般情况下w=1。所以约定三维空间的坐标为:

(x, y, z, w) == (x/w, y/w, z/w, 1)

线性变换的原则:原来平行的等间距的直线,变换后依然平行和等间距,且不能移动坐标的原点。

根据这个原则,一个3x3的矩阵可以非常好的表示三维空间的缩放、旋转和斜向切变等变换,唯独无法变换平移:

​ $$ v' = Mv $$

为此,升维到四维矩阵:

​ $$ \begin{bmatrix}v'\1\end{bmatrix} = \begin {bmatrix} M & a \ 0 & 1 \end{bmatrix} \begin{bmatrix} v \1\end{bmatrix}$$

左侧变为齐次坐标,变换矩阵升维为4维,完美解决了这个问题。