首先声明齐次坐标主要应用于图像处理,如果其它领域的可忽略本博客。另外文档参考多个网址说明编写,有理解不对指出,欢迎指正。注意考虑翻译准确性,专业性术语会给出对应的英文,中文术语不主流或者不正确的欢迎一并指出。
1 为什么使用齐次坐标系(homogeneouscoordinates)
2 无穷远妙用
当满足下面条件时,两个表达式表示同一条线哦(与欧式空间大大的不同)。
两条线的交点坐标如下:
交点坐标(x,y,z)当z等于0时表示无穷远点,当z等于0时a1b2-a2b1=0不正是空间中两条线平行满足的条件吗,平行线在投影空间相交与无穷远点的求解就是这么潇洒啊(数学家厉害)。
3 Matrix计算妙用

上面的式子到底有啥特别之处,别急进一步试试A=E=1,B=D=0:
这不正是我们常见的平移操作吗,照这样看旋转和缩放操作也要沦陷在投影变换的特殊情况中了,嘻嘻下面两个式子正是如此直白
下面请注意留神看,在齐次坐标系中矩阵乘以一个点表达式如下:
回头去看齐次坐标的定义,显然齐次坐标 对应的欧式空间坐标为
很多人奇怪为什么不换一个符号表示 ,你大概是忘了齐次坐标的由来了,细想一下就知道是一个意思了。重要的是你发现没上面的式子不正是欧式空间的投影变换?根据之前欧式空间的一系列变换推导,我们知道这个变换包含了平移,旋转和缩放情况。由于矩阵可以组合,也就是可以通过组合 平移,旋转,缩放,其他变换 而得到一个最终的单一变换矩阵,即齐次坐标系的复杂变换可转化为矩阵运算。齐次坐标投影变换的这种特性可以加速你的计算,从而实现程序加速。
注明一点仿射空间是很难做到这一点,并非完全不可能,关于什么是仿射空间在后面补齐。顺便说一下可以将齐次坐标的第三个值看作图片到摄影机的距离(仅仅便于理解而已)。
参考资料:
https://prateekvjoshi.com/2014/06/13/the-concept-of-homogeneous-coordinates/
https://plus.maths.org/content/real-projective-plane-homogeneous-coordinates
http://wordsandbuttons.online/interactive_guide_to_homogeneous_coordinates.html
http://www.it.hiof.no/~borres/j3d/math/homo/p-homo.html