为什么在很多3D API的Vector类中都有一个W术语(即Vector4(x,y,z,w))?是否存在绝对需要W项的数学运算?
答案 0 :(得分:19)
这是3D空间中一个点的特殊表示,称为齐次坐标。
它们只是描述3D空间中一个点的另一种方式。它们在3D图形中被大量使用,因为它们具有一些优点:它们使一些公式更简单,并且它们允许您表示“无穷远处的点”(或“无穷远处的线”等取决于维度)。
参见例如这篇文章的解释是:
http://andrewharvey4.wordpress.com/2008/09/29/xyzw-in-opengldirect3d-homogeneous-coordinates/
维基百科也提供了一个很好的概述(警告,一些有趣但严肃的数学):
http://en.wikipedia.org/wiki/Homogeneous_coordinates
http://en.wikipedia.org/wiki/Projective_geometry
(射影几何是齐次坐标的基础理论)
奖金事实:
使用齐次坐标实际上更容易从我们熟悉的3D空间转换对象的原因是因为与直觉相反,投影几何避免了欧几里德几何中需要的一些特殊情况。有关详细信息,请参阅上面的文章,或关于投影几何的任何体面的数学书: - )。