齐次坐标,就是在传统坐标后面加入一维变量:C -> (C, W)。在三维空间中,它把三维坐标(X, Y, Z)提升到了四维的射影空间中(X, Y, Z, W),对应的线性变换就是射影变换。齐次坐标转回三维空间坐标分两种情况,如果W为0,则(X, Y, Z)表示三维空间中的一个方向,如果W不为0,则对应的三维点坐标为(X/W, Y/W, Z/W)。齐次坐标表示有两个好处:一个是可以区分向量和点,另一个是齐次坐标下的矩阵可以表示平移变换。
四元数是二维空间的复数x + y * i在四维空间的推广x * i + y * j + z * k + w。复数可以很方便的表示二维空间的旋转变换,很自然的,人们想把它推广到三维空间,比如x * i + y * j + z。但是人们尝试过各种三维推广后,都失败了,主要原因是三维的复数不能满足代数上的一些性质。后来,爱尔兰数学家Hanmilton把复数成功推广到四维空间,也就是四元数:x * i + y * j + z * k + w,其中i * i = -1,j * j = -1,k * k = -1。四元数可以方便的表示三维空间中绕任意轴旋转的变换。所以,我们常用它来计算三维空间的旋转变换,只是一种计算方法而已。
欧拉角可以用于描述三维旋转变换。它将旋转分解成分别绕三个坐标轴旋转一定角度的组合。如下面的旋转可以分解为:R = Rz(a) * Rx(b) * Ry(r)
在一些应用领域,也常用yaw, pitch, roll来表示绕坐标轴的旋转,如图所示: