齐次(homogeneous)坐标表示法:一个三维的坐标可以使用四个值来进行表示,即 v=(vx,vy,vz,vw)Tv=(v_x, v_y, v_z, v_w)^T 代表一个点,通常情况下:

  • v=(vx,vy,vz,1)Tv=(v_x, v_y, v_z, 1)^T 代表一个点
  • v=(vx,vy,vz,w)Tv=(v_x, v_y, v_z, w)^T 代表三维点 (vxw,vyw,vzw)T(\frac{v_x}{w}, \frac{v_y}{w}, \frac{v_z}{w})^T
  • v=(vx,vy,vz,0)Tv=(v_x, v_y, v_z, 0)^T 代表一个向量

对于向量取 w=0w = 0 有以下原因:

  • 向量只有方向和长度,没有位置,平移对向量没有意义,w=0w = 0 恰好保证向量乘平移矩阵后保持不变;
  • ww 分量让齐次坐标下的加减运算对应了实际含义:点减点得向量(1−1=01 - 1 = 0)、点加向量得点(1+0=11 + 0 = 1)、向量加向量得向量(0+0=00 + 0 = 0)

不难发现,在齐次坐标下,同一个点的写法不唯一。常见的有:(x,y,z,1)(x,y,z,1) 和 (kx,ky,kz,k)(kx,ky,kz,k) 表示同一个点(当前,其中要求 k≠0k \neq 0)。