齐次坐标到底是什么

齐次坐标

齐次坐标可以用来区分 (X,Y) 到底是个向量还是个坐标,它不是一个新的坐标系,不是说把二维的变成三维的,它是一种记法。

(x,y,0) 表示一个向量, (x,y,1)表示一个坐标。

点+点=点,点加向量=点,向量+向量=向量,点-点=向量。

引入齐次坐标是为了在发生变换时,其几何意义依然准确。

一个向量平移之后,其结果仍然是这个向量而一个点平移之后,其值就会发生变化但仍然是一个点

对于平移来说:

$$
\left(\begin{array}{cccc}
1 & 0 & 0 & t_{x} \\
0 & 1 & 0 & t_{y} \\
0 & 0 & 1 & t_{z} \\
0 & 0 & 0 & 1
\end{array}\right) \cdot\left(\begin{array}{c}
x_{0} \\
y_{0} \\
z_{0} \\
w_{0}
\end{array}\right)=\left(\begin{array}{c}
x_{0}+w_{0} * t_{x} \\
y_{0}+w_{0} * t_{y} \\
z_{0}+w_{0} * t_{z} \\
w_{0}
\end{array}\right)
$$

如果$w_{0}$是0,那这个结果就是$\left(x_{0}, y_{0}, z_{0}\right)$,与向量的定义相符。

如果$w_{0}$是1,结果仍是一个点,与点的定义相符。

对于平移、旋转、缩放这3个最常见的仿射变换,平移变换只对点有意义,因为向量没有位置概念。

而旋转和缩放对于向量和点都有意义。