齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统
齐次坐标是计算机图形学重要手段之一,它既能够用来明确区分向量和点,同时也更易于进行仿射几何变换
有了齐次坐标之后我们进行点和向量之间的运算
使用 (x,y,z,1) 来表示一个点
使用 (x,y,z,0) 来表示一个向量
点 + 点 => 没有集合意义
点 - 点 = 一个向量 (第四维相减为0)
(x1,y1,z1,1) - (x2,y2,z2,1) = (x1-x2,y1-y2,z1-z2,0)
向量 + 向量 = 向量 (第四维相加为0)
(x1,y1,z1,0) + (x2,y2,z2,0) = (x1+x2,y1+y2,z1+z2,0)
向量 - 向量 = 向量 (第四维相减为0)
(x1,y1,z1,0) - (x2,y2,z2,0) = (x1-x2,y1-y2,z1-z2,0)
点 + 向量 = 点 (第四维相加为1,几何意义表示的是当前点朝着目标方向移动得到终点)
(x1,y1,z1,1) + (x2,y2,z2,0) = (x1+x2,y1+y2,z1+z2,1)
点 - 向量 = 点 (第四维相减为1,几何意义表示的是当前点朝着目标方向移动得到终点,减去向量等于加上这个向量的负向量)
(x1,y1,z1,1) - (x2,y2,z2,0) = (x1-x2,y1-y2,z1-z2,1)
上面提到了仿射几何变换
仿射几何变换 是指 线性变换 + 平移
线性变换 = 在原点和比例保持不变的情况下 进行 旋转和缩放