但因此3D图形向量也有行和列两种等价的表示方式, 对应的变换矩阵是转置与左乘右乘的区别....大多数3D图形库都是以行向量表示的, OpenGL使用列向量表示....注意运算最后的齐次坐标的w分量应该总保持为0或1
w为0的向量表示3D方向, w为1的向量表示3D的点
四种最基本的三维变换:
缩放: 只在需要缩放的轴对应的对角线上设置倍率, 其他位置保持0....而z分量本身则需要保持近似线性插值, 联立方程将近平面和远平面的深度投影到0-1从而求解出第三行的两个矩阵系数. 最后将这个视体进行一次正交投影映射到(1, -1)即可....下图是通用的DirectX版本投影矩阵, 实际DirectX使用的时候并没有第三列上面的两个系数
透视投影变换只能保证深度投影后前后顺序不变, 但是并不能保持线性关系, 整体的深度值会向后挤压, 也就是大多数深度投影后分布在较后的比例