US2S1L5——齐次坐标
US2S1L5——齐次坐标
齐次坐标
齐次坐标是一种在计算机图形学中常用的表示坐标的方式。
它是通过引入一个额外的维度来扩展传统的笛卡尔坐标系,就是将一个原本是 维的向量或矩阵用 维来表示,
让我们可以更方便的进行几何变换和矩阵运算。
举例:
三维空间中有一个向量或点 ,它对应的齐次坐标就是给它加一维,变成 ,
其中 值的改变可以让它有具有不同的含义。
-
齐次坐标是什么
就是将一个原本是 维的向量或矩阵用 维来表示
-
为什么要使用齐次坐标进行矩阵运算
- 明确的区分向量和点
- 能够表示出平移变换
为什么要使用齐次坐标进行矩阵运算
-
主要原因1:通过齐次坐标,我们可以明确的区分向量和点
刚才的例子讲解:
三维空间中的 ,它既可以表示点,也可以表示向量。
那么我们可以利用齐次坐标给它加一维,变成 ,
其中 时 代表是一个点, 时 代表一个向量。
这样我们就可以明确它是点还是向量了至于为什么要这么做,之后讲解平移变换时就知道答案了
-
主要原因2: 矩阵不能直接表示平移变换
(具体为什么不能,之后讲解平移变换时就知道答案了)
矩阵只能表示线性变换,也就是只能描述对象的旋转、缩放等线性变换,而不能描述对象的平移。平移涉及到改变对象在空间中的位置,包括移动对象的原点。因此,我们需要引入一个额外的维度来表示平移操作,
所以我们使用齐次坐标来将 矩阵加一个维度变为 的矩阵- 矩阵一般称为线性矩阵,主要处理线性变换(主要进行旋转、缩放等线性变换)
- 矩阵一般称为仿射矩阵,主要处理仿射变换(线性变换 + 平移变换)
补充:表示点位置的四维齐次坐标乘以非零数(标量)所映射的三维空间的点不变
对于一个表示三维空间内的点的四维齐次坐标,它乘以或者除以一个非零的数(标量),所映射的三维坐标始终是同一个坐标
因为对于一个四维齐次坐标 ,它实际上映射到的三维空间内的坐标是 ,
这也是为什么会将表示点的坐标的四维齐次坐标规定为 ,通过 计算得到,它映射的点正好是
这也是为什么表示向量的坐标的四维齐次坐标规定为 ,它可解释为无穷远的“点”,其意义就变成了描述方向
理解了四维齐次坐标 后,映射到三维空间内的坐标是 后,
设定点的坐标为 ,当我们不对点乘以一个标量时,它映射到三维空间内的坐标是
当坐标乘以一个非零标量2时,新的四维齐次坐标变为 ,通过 得到其映射的坐标还是
因此,对四维齐次坐标乘以或者除以一个非零的数(标量),所映射的三维坐标始终是同一个坐标