三维坐标和矩阵的关系
一、三维坐标
三维坐标是空间中的点,常用(x,y,z)表示。但是在三维引擎中常用齐次坐标来表示,进行平移、旋转、缩放的变换。
二、齐次坐标
齐次坐标是将一个 n 维的向量用 n+1 维来表示,这样可以很好的区分点和向量。
比如说:(x,y,z,w) , w 等于1,则,表示是一个点,如果w = 0,则表示是一个向量。 我们将三维坐标引入到四位的齐次坐标后,我们就可以简单的把一个三维坐标中的点通过4维矩阵相乘的形式进行平移、旋转、缩放。
三、矩阵连乘
Direct3D(行向量):矩阵连乘的顺序是从左到右,变换生效的先后顺序也是从左到右,v’ = v*T*R*S;
OpenGL(列向量):矩阵连乘的顺序是从右到左,v’ = S*R*T*v;(左乘:变换矩阵在左) OSG(行向量): 矩阵连乘的顺序是从左到右,v’ = v*T*R*S;
四、参考资料
矩阵-DirectX与OpenGL的不同 :行向量和列向量;