在三维空间中 我们可以把
(x,y,z,0)看做一个向量
(x,y,z,1)看成一个点
为什么呢
我们知道向量是表示一个方向的 所以如果我们去移动一个向量是没有意义的 向量具有移动不变性
那么 如果我们用(x,y,z,0)经过了一个平移矩阵变换
很明显是不变的 因为最后一位是0 那么正好符合了向量移动不变性 点就会发生变换了
点-点 = 向量 这是常识 那么(x1,y1,z1,1) - (x2,y2,z2,1) = (x1-x2,y1-y2,z1-z2,0)正好就变成向量了
点+向量 = 向量 就是点朝着向量的方向移动了(x1,y1,z1,1) + (x2,y2,z2,0) = (x1+x2,y1+y2,z1+z2,1)还是一个点
向量+向量 = 向量 (x1,y1,z1,0) + (x2,y2,z2,0) = (x1+x2,y1+y2,z1+z2,0)也符合了
那么点+点是什么呢 其实是这两个点的中点 首先我们明确我们在描述3维的点 并不是四维的
那么 (x1,y1,z1,1) + (x2,y2,z2,1) = (x1+x2,y1+y2,z1+z2,2) 这是什么 其实出现这种情况 我们定义
三维的点都为(x,y,z,w) = (x/w,y/w,z/w,1)也就是要让w为1