一、齐次坐标

在3D世界中表示一个点的方式是:(x, y, z);然而在3D世界中表示一个向量的方式也是:(x, y, z);如果我们只给一个三元组(x, y, z)鬼知道这是向量还是点,毕竟点与向量还是有很大区别的,点只表示位置,向量没有位置只有大小和方向。为了区分点和向量我们给它加上一维,用(x, y, z, w)这种四元组的方式来表达坐标,我们规定(x, y, z, 0)表示一个向量,(x, y, z, 1)或(x', y', z', 2)等w不为0时来表示点。这种用n+1维坐标表示n维坐标的方式称为齐次坐标。

齐次坐标除了能够区分点和向量,在3D图形学中还有重要的意义。齐次坐标系使得我们可以在一中特殊的方程组中求出解,这个方程组中每一个方程都表示一个与系统中其他直线平行的直线。我们知道在欧几里得空间中,对这种方程组是无解的,因为他们没有交点。然而在现实世界中我们是可以看到两条平行线相交的。

两条平行的铁路最终相较于无穷远处。这就说明人眼看到的世界并不是欧几里得空间,而是在一个名为透视空间中的世界。所以要在2D屏幕上表示3D世界,我们需要一个数学工具来承担这项任务,而齐次坐标很完美的承担了这项任务。

如果我们知道一个三维点的齐次坐标为(X, Y, Z, w),那么它的3D空间坐标为:

x = X / w

y = Y / w

z = Z / w

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式