[Unity Shader][图形渲染]【游戏开发】 Shader数学基础8 - 齐次坐标
在计算机图形学中,齐次坐标是一种方便计算和表示几何变换的方式。通过将三维空间中的 3×3矩阵扩展为 4×4的形式,可以统一表示平移、旋转、缩放等几何变换操作。在本篇文章中,我们将详细解析齐次坐标的定义及其在图形变换中的应用。
什么是齐次坐标?
齐次坐标的核心思想是通过引入一个额外的维度 w,将 n 维空间中的点和向量用 n+1 维坐标表示。
- 点的齐次坐标:在三维空间中,点的齐次坐标为 (x,y,z,w)其中 w≠0。常见的做法是将 w 设置为1。
- 方向向量的齐次坐标:对于方向向量,只需要把 w 设置为0。
为什么需要齐次坐标?
在三维空间中,平移操作无法通过 3×3 矩阵直接表示。而通过扩展到齐次坐标(4×4 矩阵),我们可以将平移与旋转、缩放等操作统一表示,简化变换矩阵的计算和组合。
齐次变换矩阵
在齐次坐标系中,变换矩阵可以分解为以下 4 个部分: