图形学是游戏、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维,完美解决了这个问题。